CloudWatch エージェントにより収集されるメトリクス - Amazon CloudWatch

CloudWatch エージェントにより収集されるメトリクス

サーバーの CloudWatch エージェントをインストールすることで、サーバーからメトリクスを収集できます。Amazon EC2 インスタンスとオンプレミスサーバーの両方と、Linux、Windows Server、または macOS を実行しているコンピュータにエージェントをインストールできます。Amazon EC2 インスタンスにエージェントをインストールした場合、Amazon EC2 インスタンスでデフォルトで有効なメトリクスに加えて、メトリクスが収集されます。

インスタンスに CloudWatch エージェントをインストールする方法については、「CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する」を参照してください。

このセクションで説明するすべてのメトリクスは、CloudWatch エージェントによって直接収集されます。

Windows Server インスタンスで CloudWatch エージェントにより収集されるメトリクス

Windows Server を実行しているサーバーで、CloudWatch エージェントをインストールすると、Windows パフォーマンスモニターでカウンタに関連付けられているメトリクスを参照できます。これらのカウンタの CloudWatch メトリクス名は、オブジェクト名とカウンタ名の間にスペースを配置することによって作成されます。例えば、CloudWatch では、% Interrupt Time オブジェクトの Processor カウンタにメトリクス名 Processor % Interrupt Time が指定されます。Windows パフォーマンスモニターカウンタの詳細については、Microsoft Windows Server のドキュメントを参照してください。

CloudWatch エージェントにより収集されるメトリクスのデフォルトの名前空間は CWAgent ですが、エージェントを構成するときに別の名前空間を指定できます。

Linux および macOS インスタンスで CloudWatch エージェントにより収集されるメトリクス

次の表では、Linux サーバーおよび macOS コンピュータ上の CloudWatch エージェントで収集できるメトリクスを示しています。

メトリクス 説明

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_free

ディスクの空き容量。

単位: バイト

disk_inodes_free

ディスクで使用可能なインデックスノードの数。

単位: カウント

disk_inodes_total

ディスクで予約されているインデックスノードの合計数。

単位: カウント

disk_inodes_used

ディスクで使用されているインデックスノードの数。

単位: カウント

disk_total

使用済み容量と空き容量を含む、ディスクの合計容量。

単位: バイト

disk_used

ディスクの使用済み容量。

単位: バイト

disk_used_percent

ディスクスペース合計に対する使用済みの割合。

単位: パーセント

diskio_iops_in_progress

デバイスドライバーに発行されたがまだ完了していない I/O リクエストの数。

単位: カウント

diskio_io_time

ディスクが I/O リクエストをキューに入れている時間の長さ。

単位: ミリ秒

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

diskio_reads

ディスク読み取り操作の回数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

diskio_read_bytes

ディスクから読み込まれたバイト数。

単位: バイト

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

diskio_read_time

読み取りリクエストがディスクで待機した時間の長さ。複数の読み込みリクエストが同時に待機している場合、その分数値が増えます。たとえば、5 つのリクエストが平均 100 ミリ秒待機している場合、500 と報告されます。

単位: ミリ秒

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

diskio_writes

ディスク書き込み操作の回数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

diskio_write_bytes

ディスクへの書き込みバイト数。

単位: バイト

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

diskio_write_time

書き込みリクエストがディスクで待機した時間の長さ。複数の書き込みリクエストが同時に待機している場合、その分数値が増えます。たとえば、8 つのリクエストが平均 1000 ミリ秒待機している場合、8000 と報告されます。

単位: ミリ秒

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

ethtool_bw_in_allowance_exceeded

インバウンド集計の帯域幅がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。

このメトリクスは、CloudWatch エージェント設定ファイルの ethtool セクションの metrics_collected サブセクションにリストされている場合にのみ収集されます。詳細については、ネットワークパフォーマンスメトリクスの収集 を参照してください。

単位: なし

ethtool_bw_out_allowance_exceeded

アウトバウンド集計の帯域幅がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。

このメトリクスは、CloudWatch エージェント設定ファイルの ethtool セクションの metrics_collected サブセクションにリストされている場合にのみ収集されます。詳細については、ネットワークパフォーマンスメトリクスの収集 を参照してください。

単位: なし

ethtool_conntrack_allowance_exceeded

接続トラッキングがインスタンスの最大数を超え、新しい接続を確立できなかったためにドロップされたパケットの数。これにより、インスタンスとの間で送受信されるトラフィックのパケット損失が発生する可能性があります。

このメトリクスは、CloudWatch エージェント設定ファイルの ethtool セクションの metrics_collected サブセクションにリストされている場合にのみ収集されます。詳細については、ネットワークパフォーマンスメトリクスの収集 を参照してください。

単位: なし

ethtool_linklocal_allowance_exceeded

ローカルプロキシサービスへのトラフィックの PPS がネットワークインターフェイスの最大値を超えたためにドロップされたパケットの数。これは、DNS サービス、インスタンスメタデータサービス、および Amazon Time Sync Service へのトラフィックに影響します。

このメトリクスは、CloudWatch エージェント設定ファイルの ethtool セクションの metrics_collected サブセクションにリストされている場合にのみ収集されます。詳細については、ネットワークパフォーマンスメトリクスの収集 を参照してください。

単位: なし

ethtool_pps_allowance_exceeded

双方向 PPS がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。

このメトリクスは、CloudWatch エージェント設定ファイルの ethtool セクションの metrics_collected サブセクションにリストされている場合にのみ収集されます。詳細については、「ネットワークパフォーマンスメトリクスの収集」を参照してください。

単位: なし

mem_active

最後のサンプル期間中に何らかの方法で使用されたメモリの量。

単位: バイト

mem_available

すぐにプロセスに渡すことができる使用可能なメモリの量。

単位: バイト

mem_available_percent

すぐにプロセスに渡すことができる使用可能なメモリの割合。

単位: パーセント

mem_buffered

バッファに使用されているメモリの量。

単位: バイト

mem_cached

ファイルキャッシュに使用されているメモリの量。

単位: バイト

mem_free

使用されていないメモリの量。

単位: バイト

mem_inactive

最後のサンプル期間中に何らかの方法で使用されていないメモリの量

単位: バイト

mem_total

メモリの合計量。

単位: バイト

mem_used

現在使用中のメモリの量。

単位: バイト

mem_used_percent

現在使用中のメモリの割合。

単位: パーセント

net_bytes_recv

ネットワークインターフェイスで受信されたバイトの数。

単位: バイト

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

net_bytes_sent

ネットワークインターフェイスで送信されたバイトの数。

単位: バイト

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

net_drop_in

このネットワークインターフェイスで受信されたパケットのうち、削除されたものの数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

net_drop_out

このネットワークインターフェイスで送信されたパケットのうち、削除されたものの数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

net_err_in

このネットワークインターフェイスによって検出された受信エラーの数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

net_err_out

このネットワークインターフェイスによって検出された送信エラーの数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

net_packets_sent

このネットワークインターフェイスで送信されたパケットの数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

net_packets_recv

このネットワークインターフェイスで受信されたパケットの数。

単位: カウント

このメトリクスに使用する必要がある唯一の統計は Sum です。使用しません。Average

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 接続の数。

単位: カウント

processes_blocked

ブロックされているプロセスの数。

単位: カウント

processes_dead

「dead」となっているプロセスの数。Linux では、X 状態コードにより示されます。

このメトリクスは macOS コンピュータでは収集されません。

単位: カウント

processes_idle

アイドル状態になっているプロセスの数 (20 秒以上スリープ状態)。FreeBSD インスタンスでのみ使用できます。

単位: カウント

processes_paging

「paging」となっているプロセスの数。Linux では、W 状態コードにより示されます。

このメトリクスは macOS コンピュータでは収集されません。

単位: カウント

processes_running

実行されているプロセスの数。R 状態コードにより示されます。

単位: カウント

processes_sleeping

スリープ状態になっているプロセスの数。S 状態コードにより示されます。

単位: カウント

processes_stopped

停止されているプロセスの数。T 状態コードにより示されます。

単位: カウント

processes_total

インスタンス上でのプロセスの合計数。

単位: カウント

processes_total_threads

プロセスを構成するスレッドの合計数。このメトリクスは、Linux インスタンスでのみご利用いただけます。

このメトリクスは macOS コンピュータでは収集されません。

単位: カウント

processes_wait

ページングしているプロセスの数。FreeBSD インスタンスでは、W 状態コードにより示されます。このメトリクスは FreeBSD インスタンスでのみ使用でき、Linux、Windows サーバー、macOS インスタンスでは使用できません。

単位: カウント

processes_zombies

ゾンビ状態のプロセスの数。Z 状態コードにより示されます。

単位: カウント

swap_free

使用されていないスワップスペースの量。

単位: バイト

swap_used

現在使用中のスワップスペースの量。

単位: バイト

swap_used_percent

現在使用中のスワップスペースの割合。

単位: パーセント

CloudWatch エージェントにより収集されるメモリメトリクスの定義

CloudWatch エージェントがメモリメトリクスを収集する場合、ソースはホストのメモリ管理サブシステムです。例えば、Linux カーネルは OS が管理する /proc 内のデータを公開します。メモリについては、データは /proc/meminfo にあります。

オペレーティングシステムとアーキテクチャが異なれば、プロセスが使用するリソースの計算も異なります。詳細については、次のセクションを参照してください。

各収集間隔において、各インスタンスの CloudWatch エージェントはインスタンスリソースを収集し、そのインスタンスで実行されているすべてのプロセスが使用しているリソースを計算します。この情報は CloudWatch メトリクスに報告されます。収集間隔の長さは、CloudWatch エージェント設定ファイルで設定できます。詳細については、「 CloudWatch エージェント設定ファイル: Agent セクション」を参照してください。

次のリストで、CloudWatch エージェントが収集するメモリメトリクスの定義方法を説明します。

  • アクティブメモリ — プロセスが使用しているメモリです。つまり、現在実行中のアプリで使用されているメモリのことです。

  • 使用可能なメモリ — システムがスワップ状態にならずにプロセスに瞬時に割り当てられるメモリ (仮想メモリとも呼ばれます) です。

  • バッファメモリ — さまざまな速度と優先順位で動作するハードウェアデバイスまたはプログラムプロセスによって共有されるデータ領域です。

  • キャッシュされたメモリ — CPU が次に必要とする可能性のあるプログラムの操作で繰り返し使用されるプログラム手順とデータを保存します。

  • 空きメモリ — まったく使用されておらず、すぐに使用できるメモリです。このメモリは完全に空で、必要なときにシステムで使用できます。

  • 非アクティブなメモリ— 「最近は」アクセスされていないページです。

  • 合計メモリ — 実際の物理メモリ RAM のサイズです。

  • 使用済みメモリ— プログラムやプロセスによって現在使用されているメモリです。

Linux: 収集されたメトリクスと使用された計算

収集されたメトリクスと単位:

  • アクティブ (バイト)

  • 使用可能 (バイト)

  • 使用可能率 (パーセント)

  • バッファ済み (バイト)

  • キャッシュ済み (バイト)

  • 空き (バイト)

  • 非アクティブ (バイト)

  • 合計 (バイト)

  • 使用済み (バイト)

  • 使用率 (パーセント)

使用済みメモリ = 合計メモリ - 空きメモリ - キャッシュされたメモリ - バッファメモリ

合計メモリ = 使用済みメモリ + 空きメモリ + キャッシュされたメモリ + バッファメモリ

macOS: 収集されたメトリクスと使用された計算

収集されたメトリクスと単位:

  • アクティブ (バイト)

  • 使用可能 (バイト)

  • 使用可能率 (パーセント)

  • 空き (バイト)

  • 非アクティブ (バイト)

  • 合計 (バイト)

  • 使用済み (バイト)

  • 使用率 (パーセント)

使用可能なメモリ = 空きメモリ + 非アクティブなメモリ

使用済みメモリ = 合計メモリ - 使用可能なメモリ

合計メモリ = 使用可能なメモリ + 使用済みメモリ

Windows: 収集されたメトリクス

Windows ホストで収集されたメトリクスは以下のとおりです。これらのメトリクスの Unit はすべて None です。

  • 使用可能バイト

  • キャッシュ障害数/秒

  • ページ障害数/秒

  • ページ数/秒

CloudWatch エージェントはパフォーマンスカウンターからイベントを解析するため、Windows メトリクスの計算は行われません。

例: Linux でのメモリメトリクスの計算

例として、Linux ホストで cat /proc/meminfo のコマンドを入力すると、次の結果が表示されるとします。

MemTotal: 3824388 kB MemFree: 462704 kB MemAvailable: 2157328 kB Buffers: 126268 kB Cached: 1560520 kB SReclaimable: 289080 kB>

この例では、CloudWatch エージェントは次の値を収集します。CloudWatch エージェントが収集してレポートする値はすべてバイト単位です。

  • mem_total: 3916173312 バイト

  • mem_available: 2209103872 バイト (メモリフリー + キャッシュ)

  • mem_free: 473808896 バイト

  • mem_cached: 1893990400 バイト (cached + SReclaimable)

  • mem_used: 1419075584 バイト (MemTotal — (MemFree + Buffers + (Cached + SReclaimable)))

  • mem_buffered: 129667072 バイト

  • mem_available_percent: 56.41%

  • mem_used_percent: 36.24% (mem_used / mem_total) * 100