コンテンツにスキップ

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