[AWS]「CloudWatch」CloudWatchエージェント設定ファイルの作成【AlmaLinux 9】

CloudWatchエージェントをサーバーで実行する前に、CloudWatch エージェント設定ファイルを作成する必要があります。

1. CloudWatchエージェント設定ファイルの作成

ここでは、ウィザードを利用してCloudWatchエージェント設定ファイルを作成します。

(1) IAMロールの割り当て
Systems Manager Parameter Storeに保存するために、EC2インスタンスにIAMロールを割り当てます。
  • 「サービス」メニューより「コンピューティング」→「EC2」をクリックします。
  • 左側のメニューより「インスタンス」を選択します。
  • 該当のインスタンスを選択して、「アクション」→「セキュリティ」→「IAMロールを変更」
IAMロール CloudWatchAgentAdminRole
  • 「保存」ボタンをクリックします。

(2) CloudWatchエージェント設定ファイルの作成
ウィザードを起動します。
# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
=============================================================
= Welcome to the AWS CloudWatch Agent Configuration Manager =
=============================================================
On which OS are you planning to use the agent?
1. linux
2. windows
3. darwin
default choice: [1]:
 
Trying to fetch the default region based on ec2 metadata...
I! imds retry client will retry 1 timesAre you using EC2 or On-Premises hosts?
1. EC2
2. On-Premises
default choice: [1]:
 
※エージェントを実行するユーザ [2]
Which user are you planning to run the agent?
1. cwagent
2. root
3. others
default choice: [1]:
2
Do you want to turn on StatsD daemon?
1. yes
2. no
default choice: [1]:
 
Which port do you want StatsD daemon to listen to?
default choice: [8125]
 
What is the collect interval for StatsD daemon?
1. 10s
2. 30s
3. 60s
default choice: [1]:
 
What is the aggregation interval for metrics collected by StatsD daemon?
1. Do not aggregate
2. 10s
3. 30s
4. 60s
default choice: [4]:
 
Do you want to monitor metrics from CollectD? WARNING: CollectD must be installed or the Agent will fail to start
1. yes
2. no
default choice: [1]:
 
Do you want to monitor any host metrics? e.g. CPU, memory, etc.
1. yes
2. no
default choice: [1]:
 
Do you want to monitor cpu metrics per core?
1. yes
2. no
default choice: [1]:
 
Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName) into all of your metrics if the info is available?
1. yes
2. no
default choice: [1]:
 
※EC2ディメンションを全てのメトリクスに追加
Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName) into all of your metrics if the info is available?
1. yes
2. no
default choice: [1]:
 
Do you want to aggregate ec2 dimensions (InstanceId)?
1. yes
2. no
default choice: [1]:
 
※メトリクスを収集する間隔
Would you like to collect your metrics at high resolution (sub-minute resolution)? This enables sub-minute resolution for all metrics, but you can customize for specific metrics in the output json file.
1. 1s
2. 10s
3. 30s
4. 60s
default choice: [4]:
 
※デフォルトのメトリクス設定 [2] (*1を参照)
Which default metrics config do you want?
1. Basic
2. Standard
3. Advanced
4. None
default choice: [1]:
2
※現在の構成は次のとおりです
Current config as follows:
{
        "agent": {
                "metrics_collection_interval": 60,
                "run_as_user": "root"
        },
        "metrics": {
                "aggregation_dimensions": [
                        [
                                "InstanceId"
                        ]
                ],
                "append_dimensions": {
                        "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
                        "ImageId": "${aws:ImageId}",
                        "InstanceId": "${aws:InstanceId}",
                        "InstanceType": "${aws:InstanceType}"
                },
                "metrics_collected": {
                        "collectd": {
                                "metrics_aggregation_interval": 60
                        },
                        "cpu": {
                                "measurement": [
                                        "cpu_usage_idle",
                                        "cpu_usage_iowait",
                                        "cpu_usage_user",
                                        "cpu_usage_system"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ],
                                "totalcpu": false
                        },
                        "disk": {
                                "measurement": [
                                        "used_percent",
                                        "inodes_free"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "diskio": {
                                "measurement": [
                                        "io_time"
                                ],
                                "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"
                        },
                        "swap": {
                                "measurement": [
                                        "swap_used_percent"
                                ],
                                "metrics_collection_interval": 60
                        }
                }
        }
}
※注:ウィザードの完了後に手動でカスタマイズして、アイテムを追加できます。
Are you satisfied with the above config? Note: it can be manually customized after the wizard completes to add additional items.
1. yes
2. no
default choice: [1]:
 
※今まで CloudWatch Log Agent を利用していた場合は、CloudWatch Log Agent から CloudWatch Agent に移行することができます。 [2]
Do you have any existing CloudWatch Log Agent (http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html) configuration file to import for migration?1. yes
2. no
default choice: [2]:
 
※ログファイルの監視 [2]
Do you want to monitor any log files?
1. yes
2. no
default choice: [1]:
2
Do you want the CloudWatch agent to also retrieve X-ray traces?
1. yes
2. no
default choice: [1]:
2
Do you have an existing X-Ray Daemon configuration file to import for migration?
1. yes
2. no
default choice: [1]:
 
Saved config file to /opt/aws/amazon-cloudwatch-agent/bin/config.json successfully. 
 Current config as follows: 
 
{
        "agent": {
                "metrics_collection_interval": 60,
                "run_as_user": "root"
        },
        "metrics": {
                "append_dimensions": {
                        "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
                        "ImageId": "${aws:ImageId}",
                        "InstanceId": "${aws:InstanceId}",
                        "InstanceType": "${aws:InstanceType}"
                },
                "metrics_collected": {
                        "collectd": {
                                "metrics_aggregation_interval": 60
                        },
                        "cpu": {
                                "measurement": [
                                        "cpu_usage_idle",
                                        "cpu_usage_iowait",
                                        "cpu_usage_user",
                                        "cpu_usage_system"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ],
                                "totalcpu": false
                        },
                        "disk": {
                                "measurement": [
                                        "used_percent",
                                        "inodes_free"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "diskio": {
                                "measurement": [
                                        "io_time"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "mem": {
                                "measurement": [
                                        "mem_used_percent"
                                ],
                                "metrics_collection_interval": 60
                        },
                        "swap": {
                                "measurement": [
                                        "swap_used_percent"
                                ],
                                "metrics_collection_interval": 60
                        }
                }
        }
}
Please check the above content of the config.
The config file is also located at /opt/aws/amazon-cloudwatch-agent/bin/config.json.
Edit it manually if needed.
※パラメータストアに保存するか?
Do you want to store the config in the SSM parameter store?
1. yes
2. no
default choice: [1]:
2
Program exits now.

2. CloudWatchエージェント設定ファイルの編集

必要に応じて、ウイザードで作成した基本的なメトリクスに追加します。

(1) LinuxインスタンスでCloudWatchエージェントにより収集されるメトリクス
LinuxインスタンスでCloudWatchエージェントを使用して収集できるメトリクスは以下の通りです。
リソース名 メトリクス 説明
cpu cpu_time_active 任意の容量で CPU がアクティブになっている時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_guest ゲストオペレーティングシステムで CPU が仮想 CPU を実行している時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_guest_nice 優先度が低く、他のプロセスにより中断される場合がある、ゲストオペレーティングシステムの仮想 CPU を CPU で実行している時間。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_idle CPU がアイドル状態の時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_iowait CPU が I/O 操作の完了を待機している時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_irq CPU が中断を処理している時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_nice プロセスの優先度が低く、優先度の高いプロセスによって簡単に中断される場合がある、ユーザーモードになっている CPU の時間。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_softirq CPU がソフトウェアの中断を処理している時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_steal CPU が盗まれた時間になっている時間の長さ。これは、仮想化環境で他のオペレーティングシステムに費やされる時間です。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_system CPU がシステムモードになっている時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_time_user CPU がユーザーモードになっている時間の長さ。このメトリクスは、1/100 秒単位で測定されます。(単位:なし)
cpu_usage_active 任意の容量で CPU がアクティブになっている時間の割合。(単位:パーセント)
cpu_usage_guest ゲストオペレーティングシステムで CPU が仮想 CPU を実行している時間の割合。(単位:パーセント)
cpu_usage_guest_nice 優先度が低く、他のプロセスにより中断される場合がある、ゲストオペレーティングシステムの仮想 CPU を CPU で実行している時間の割合。(単位:パーセント)
cpu_usage_idle CPU がアイドル状態の時間の割合。(単位:パーセント)
cpu_usage_iowait CPU が I/O 操作の完了を待機している時間の割合。(単位:パーセント)
cpu_usage_irq CPU が中断を処理している時間の割合。(単位:パーセント)
cpu_usage_nice プロセスの優先度が低く、優先度の高いプロセスによって簡単に中断される場合がある、ユーザーモードになっている CPU の時間の割合。(単位:パーセント)
cpu_usage_softirq CPU がソフトウェアの中断を処理している時間の割合。(単位:パーセント)
cpu_usage_steal CPU が盗まれた時間になっている時間の割合。つまり、仮想化環境で他のオペレーティングシステムに費やされる時間です。 (単位:パーセント)
cpu_usage_system CPU がシステムモードになっている時間の割合。(単位:パーセント)
cpu_usage_user CPU がユーザーモードになっている時間の割合。(単位:パーセント)
disk disk_free ディスクの空き容量。(単位:バイト)
disk_inodes_free ディスクで使用可能なインデックスノードの数。(単位:個)
disk_inodes_total ディスクで予約されているインデックスノードの合計数。(単位:個)
disk_inodes_used ディスクで使用されているインデックスノードの数。(単位:個)
disk_total 使用済み容量と空き容量を含む、ディスクの合計容量。(単位:バイト)
disk_used ディスクの使用済み容量。(単位:バイト)
disk_used_percent ディスクスペース合計に対する使用済みの割合。(単位:パーセント)
diskio diskio_iops_in_progress デバイスドライバーに発行されたがまだ完了していない I/O リクエストの数。(単位:個)
diskio_io_time ディスクが I/O リクエストをキューに入れている時間の長さ。(単位:ミリ秒)
diskio_reads ディスク読み取り操作の回数。(単位:個)
diskio_read_bytes ディスクから読み込まれたバイト数。(単位:バイト)
diskio_read_time 読み取りリクエストがディスクで待機した時間の長さ。複数の読み込みリクエストが同時に待機している場合、その分数値が増えます。たとえば、5 つのリクエストが平均 100 ミリ秒待機している場合、500 と報告されます。 (単位:ミリ秒)
diskio_writes ディスク書き込み操作の回数。(単位:カウント)
diskio_write_bytes ディスクへの書き込みバイト数。(単位:バイト)
diskio_write_time 書き込みリクエストがディスクで待機した時間の長さ。複数の書き込みリクエストが同時に待機している場合、その分数値が増えます。たとえば、8 つのリクエストが平均 1000 ミリ秒待機している場合、8000 と報告されます。(単位:ミリ秒)
memory mem_active 最後のサンプル期間中に何らかの方法で使用されたメモリの量。(単位:バイト)
mem_available すぐにプロセスに渡すことができる使用可能なメモリの量。(単位:バイト)
mem_available_percent すぐにプロセスに渡すことができる使用可能なメモリの割合。(単位:パーセント)
mem_buffered バッファに使用されているメモリの量。(単位:バイト)
mem_cached ファイルキャッシュに使用されているメモリの量。(単位:バイト)
mem_free 使用されていないメモリの量。(単位:バイト)
mem_inactive 最後のサンプル期間中に何らかの方法で使用されていないメモリの量(単位:バイト)
mem_total メモリの合計量。(単位:バイト)
mem_used 現在使用中のメモリの量。(単位:バイト)
mem_used_percent 現在使用中のメモリの割合。(単位:パーセント)
network net_bytes_recv ネットワークインターフェイスで受信されたバイトの数。(単位:バイト)
net_bytes_sent ネットワークインターフェイスで送信されたバイトの数。(単位:バイト)
net_drop_in このネットワークインターフェイスで受信されたパケットのうち、削除されたものの数。(単位:個)
net_drop_out このネットワークインターフェイスで送信されたパケットのうち、削除されたものの数。(単位:個)
net_err_in このネットワークインターフェイスによって検出された受信エラーの数。(単位:個)
net_err_out このネットワークインターフェイスによって検出された送信エラーの数。(単位:個)
net_packets_sent このネットワークインターフェイスで送信されたパケットの数。(単位:個)
net_packets_recv このネットワークインターフェイスで受信されたパケットの数。(単位:個)
netstat_tcp_close 状態のない TCP 接続の数。(単位:個)
netstat_tcp_close_wait クライアントからの終了リクエストを待機している TCP 接続の数。(単位:個)
netstat_tcp_closing クライアントからの確認付き終了リクエストを待機している TCP 接続の数。(単位:カウント)
netstat_tcp_established 確立された TCP 接続の数。(単位:カウント)
netstat_tcp_fin_wait1 接続の終了プロセス時に FIN_WAIT1 状態になっている TCP 接続の数。(単位:カウント)
netstat_tcp_fin_wait2 接続の終了プロセス時に FIN_WAIT2 状態になっている TCP 接続の数。 (単位:カウント)
netstat_tcp_last_ack クライアントが接続終了メッセージの確認を送信するのを待機している TCP 接続の数。これは、接続が終了する直前の最後の状態です。(単位:カウント)
netstat_tcp_listen 現在接続リクエストをリッスンしている TCP ポートの数。(単位:個)
netstat_tcp_none 非アクティブなクライアントを持つ TCP 接続の数。(単位:個)
netstat_tcp_syn_sent 接続リクエストを送信したあとに一致する接続リクエストを待機している TCP 接続の数。(単位:個)
netstat_tcp_syn_recv 接続リクエストを送受信したあとに接続リクエスト確認を待機している TCP 接続の数。(単位:個)
netstat_tcp_time_wait クライアントが接続終了リクエストの確認を受信したことが確認されるのを現在待機している TCP 接続の数。(単位:個)
netstat_udp_socket 現在の UDP 接続の数。(単位:カウント)
process processes_blocked ブロックされているプロセスの数。(単位:カウント)
processes_dead 「dead」となっているプロセスの数。Linux では、X 状態コードにより示されます。 (単位:カウント)
processes_idle アイドル状態になっているプロセスの数 (20 秒以上スリープ状態)。FreeBSD インスタンスでのみ使用できます。(単位:カウント)
processes_paging 「paging」となっているプロセスの数。Linux では、W 状態コードにより示されます。(単位:カウント)
processes_running 実行されているプロセスの数。R 状態コードにより示されます。 (単位:カウント)
processes_sleeping スリープ状態になっているプロセスの数。S 状態コードにより示されます。(単位:カウント)
processes_stopped 停止されているプロセスの数。T 状態コードにより示されます。 (単位:カウント)
processes_total インスタンス上でのプロセスの合計数。(単位:カウント)
processes_total_threads プロセスを構成するスレッドの合計数。このメトリクスは、Linux インスタンスでのみご利用いただけます。(単位:カウント)
processes_wait ページングしているプロセスの数。FreeBSD インスタンスでは、W 状態コードにより示されます。このメトリクスは、FreeBSD インスタンスでのみご利用いただけます。 (単位:カウント)
processes_zombies ゾンビ状態のプロセスの数。Z 状態コードにより示されます。 (単位:カウント)
swap swap_free 使用されていないスワップスペースの量。(単位:バイト)
swap_used 現在使用中のスワップスペースの量。(単位:バイト)
swap_used_percent 現在使用中のスワップスペースの割合。(単位:パーセント)

(2) CloudWatchエージェント設定パラメータの更新
メトリクスを追加する場合には、SSMのパラメータストアで該当のパラメータ名を選択して、パラメータを編集します。




最終更新:2025年04月16日 13:02