~~NOCACHE~~
## CloudWatchAgentによるプロセス監視
CloudwatchAgentによるプロセス監視設定例になります。
以下の公式ドキュメントより、procstatプラグインでプロセス監視を試してみました。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-procstat-process-metrics.html
## procstat 向けの CloudWatch エージェントの設定
[metrics]-[metrics_collected]セクションに、以下の書式を追記します。
[httpd]プロセスを例に、プロセス数をカウントしています。
### pid_file による設定
#### 設定例(抜粋)
"procstat": [
{
"pid_file": "var/run/httpd/httpd.pid",
"measurement": [
"pid_count"
],
"metrics_collection_interval": 60
}
]
#### メトリクス出力先
%%すべて > CWAgent > ImageId,InstanceId,InstanceType,pid_finder,pidfile%%
#### 設定例(全体)
ハイライト行が追加する該当行になります。
--> 開く#
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/httpd/access_log",
"log_group_name": "access_log",
"log_stream_name": "{instance_id}"
}
]
}
}
},
"metrics": {
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"collectd": {
"metrics_aggregation_interval": 60
},
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
},
"statsd": {
"metrics_aggregation_interval": 60,
"metrics_collection_interval": 10,
"service_address": ":8125"
},
"procstat": [
{
"pid_file": "var/run/httpd/httpd.pid",
"measurement": [
"pid_count"
],
"metrics_collection_interval": 60
}
]
}
}
}
<--
### exe による設定
#### 設定例(抜粋)
"procstat": [
{
"exe": "httpd",
"measurement": [
"pid_count"
],
"metrics_collection_interval": 60
}
]
#### メトリクス出力先
すべて > CWAgent > ImageId,InstanceId,InstanceType,exe,pid_finder
#### 設定例(全体)
ハイライト行が追加する該当行になります。
--> 開く#
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/httpd/access_log",
"log_group_name": "access_log",
"log_stream_name": "{instance_id}"
}
]
}
}
},
"metrics": {
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"collectd": {
"metrics_aggregation_interval": 60
},
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
},
"statsd": {
"metrics_aggregation_interval": 60,
"metrics_collection_interval": 10,
"service_address": ":8125"
},
"procstat": [
{
"exe": "httpd",
"measurement": [
"pid_count"
],
"metrics_collection_interval": 60
}
]
}
}
}
<--
{{tag>AWS CloudWatchAgent CloudWatch}}