CloudWatch Agent の設定
参考) CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスとログを収集する
インストール
以下は Ubuntu Linux の例です。
sudo apt-get install -y collectd
curl -O https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
sudo dpkg -i -E /tmp/amazon-cloudwatch-agent.deb
収集可能なメトリクス
参考) デフォルトの EC2 メトリクス
EC2 では以下のメトリクスが設定なしで収集されます。これらの基本メトリクスを 5 分間隔で収集する場合、追加料金もかかりません。詳細は インスタンスの利用可能な CloudWatch メトリクスのリスト表示 を参照。
Namespace: AWS/EC2
- CPU: CPUUtilization
- CPU credits(T系のみ): CPUCreditUsage, CPUCreditBalance, CPUSurplusCreditBalance, CPUSurplusCreditsCharged
- Disk: DiskReadOps, DiskWriteOps, DiskReadBytes, DiskWriteBytes
- Network: NetworkIn, NetworkOut, NetworkPacketsIn, NetworkPacketsOut
- EBS(ベアメタルを除く): EBSReadOps, EBSWriteOps, EBSReadBytes, EBSWriteBytes, EBSIOBalance%, EBSByteBalance%
- Status: StatusCheckFailed, StatusCheckFailed_Instance, StatusCheckFailed_System
- その他: MetadataNoToken
CloudWatch Agent で収集可能な追加のメトリクス
CloudWatch Agent をインストールすることで、以下のメトリクスが収集可能になります。詳細は CloudWatch エージェントにより収集されるメトリクス を参照。
Namespace: CWAgent
- CPU: cpu_time_active, cpu_time_guest, cpu_time_guest_nice, cpu_time_idle, cpu_time_iowait, cpu_time_irq, cpu_time_nice, cpu_time_softirq, cpu_time_steal, cpu_time_system, cpu_time_user, cpu_usage_active, cpu_usage_guest, cpu_usage_guest_nice, cpu_usage_idle, cpu_usage_iowait, cpu_usage_irq, cpu_usage_nice, cpu_usage_softirq, cpu_usage_steal, cpu_usage_system, cpu_usage_user
- Disk: disk_free, disk_inodes_free, disk_inodes_total, disk_inodes_used, disk_total, disk_used, disk_used_percent
- Diskio: diskio_iops_in_progress, diskio_io_time, diskio_reads, diskio_read_bytes, diskio_read_time, diskio_writes, diskio_write_bytes, diskio_write_time
- Mem: 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: netstat_tcp_close, netstat_tcp_close_wait, netstat_tcp_closing, netstat_tcp_established, netstat_tcp_fin_wait1, netstat_tcp_fin_wait2, netstat_tcp_last_ack, netstat_tcp_listen, netstat_tcp_none, netstat_tcp_syn_sent, netstat_tcp_syn_recv, netstat_tcp_time_wait, netstat_udp_socket
- Processor: processes_blocked, processes_dead, processes_idle, processes_paging, processes_running, processes_sleeping, processes_stopped, processes_total, processes_total_threads, processes_wait, processes_zombies
- Swap: swap_free, swap_used, swap_used_percent
設定
ウィザードを使用して CloudWatch エージェント設定ファイルを作成する を参考に、CloudWatch Agent をインストールしたインスタンスで以下を実行すると、デフォルトの設定ファイルが作成できます。手動で設定を作成・変更する場合は CloudWatch エージェント設定ファイルを手動で作成または編集する を参考に編集します。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
ウィザードで Linux, EC2 を選択してデフォルト(3種)を選択した場合、以下のメトリクスが収集されます。
Metrics | Basic | Standard | Advanced | Description |
---|---|---|---|---|
cpu_usage_idle | - | ○ | ○ | CPU アイドル時間 |
cpu_usage_iowait | - | ○ | ○ | CPU I/O 待ち時間 |
cpu_usage_user | - | ○ | ○ | CPU ユーザーモード時間 |
cpu_usage_system | - | ○ | ○ | CPU システムモード時間 |
disk_used_percent | ○ | ○ | ○ | 使用済みディスク容量の割合 |
disk_inodes_free | - | ○ | ○ | 使用可能なインデックスノード数 |
diskio_io_time | - | ○ | ○ | I/O リクエストをキューに入れている時間 |
diskio_write_bytes | - | - | ○ | ディスク書き込みバイト数 |
diskio_read_bytes | - | - | ○ | ディスク読み込みバイト数 |
diskio_writes | - | - | ○ | ディスク書き込み回数 |
diskio_reads | - | - | ○ | ディスク読み込み回数 |
mem_used_percent | ○ | ○ | ○ | 使用中のメモリの割合 |
netstat_tcp_established | - | - | ○ | TCP ESTABLISHED コネクション数 |
netstat_tcp_time_wait | - | - | ○ | TCP TIME_WAIT コネクション数 |
swap_used_percent | - | ○ | ○ | 使用中のスワップスペースの割合 |
例
設定を変更した場合、以下のようなコマンドで反映します。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config -m ec2 -s \
-c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
ログの送信
ファイルを CloudWatch Logs に送信することもできます。
起動・停止
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a start
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a stop