

# CloudWatch エージェントにより収集されるメトリクス
<a name="metrics-collected-by-CloudWatch-agent"></a>

 サーバーの CloudWatch エージェントをインストールすることで、サーバーからメトリクスを収集できます。エージェントを Amazon EC2 インスタンスとオンプレミスサーバーのどちらにもインストールできます。また、Linux、Windows Server、または macOS を実行するコンピュータにエージェントをインストールできます。Amazon EC2 インスタンスにエージェントをインストールした場合、Amazon EC2 インスタンスでデフォルトで有効なメトリクスに加えて、エージェントによってもメトリクスが収集されます。インスタンスに CloudWatch エージェントをインストールする方法については、「[CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する](Install-CloudWatch-Agent.md)」を参照してください。このセクションを使用すると、CloudWatch エージェントによって収集されるメトリクスについてよく知ることができます。

## Windows Server インスタンスで CloudWatch エージェントにより収集されるメトリクス
<a name="windows-metrics-enabled-by-CloudWatch-agent"></a>

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

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

## Linux および macOS インスタンスで CloudWatch エージェントにより収集されるメトリクス
<a name="linux-metrics-enabled-by-CloudWatch-agent"></a>

次の表では、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` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](CloudWatch-Agent-network-performance.md) を参照してください。 単位: なし  | 
|  `ethtool_bw_out_allowance_exceeded` |  アウトバウンド集計の帯域幅がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](CloudWatch-Agent-network-performance.md) を参照してください。 単位: なし  | 
|  `ethtool_conntrack_allowance_exceeded` |  接続トラッキングがインスタンスの最大数を超え、新しい接続を確立できなかったためにドロップされたパケットの数。これにより、インスタンスとの間で送受信されるトラフィックのパケット損失が発生する可能性があります。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](CloudWatch-Agent-network-performance.md) を参照してください。 単位: なし  | 
|  `ethtool_linklocal_allowance_exceeded` |  ローカルプロキシサービスへのトラフィックの PPS がネットワークインターフェイスの最大値を超えたためにドロップされたパケットの数。これは、DNS サービス、インスタンスメタデータサービス、および Amazon Time Sync Service へのトラフィックに影響します。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](CloudWatch-Agent-network-performance.md) を参照してください。 単位: なし  | 
|  `ethtool_pps_allowance_exceeded` |  双方向 PPS がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、「[ネットワークパフォーマンスメトリクスの収集](CloudWatch-Agent-network-performance.md)」を参照してください。 単位: なし  | 
|  `mem_active` |  最後のサンプル期間中に何らかの方法で使用されたメモリの量。 単位: バイト  | 
|  `mem_available` |  すぐにプロセスに渡すことができる使用可能なメモリの量。 単位: バイト  | 
|  `mem_available_percent` |  すぐにプロセスに渡すことができる使用可能なメモリの割合。 単位: パーセント  | 
|  `mem_buffered` |  バッファに使用されているメモリの量。 単位: バイト  | 
|  `mem_cached` |  ファイルキャッシュに使用されているメモリの量。 単位: バイト  | 
|  `mem_free` |  使用されていないメモリの量。 単位: バイト  | 
|  `mem_inactive` |  最後のサンプル期間中に何らかの方法で使用されていないメモリの量 単位: バイト  | 
|  `mem_shared` |  プロセス間で共有されるメモリの量。 単位: バイト  | 
|  `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 エージェントにより収集されるメモリメトリクスの定義
<a name="CloudWatch-agent-metrics-definitions"></a>

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

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

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

次のリストで、CloudWatch エージェントが収集するメモリメトリクスの定義方法を説明します。
+ **アクティブメモリ** — プロセスが使用しているメモリです。つまり、現在実行中のアプリで使用されているメモリのことです。
+  **使用可能なメモリ** — システムがスワップ状態にならずにプロセスに瞬時に割り当てられるメモリ (仮想メモリとも呼ばれます) です。
+ **バッファメモリ** — さまざまな速度と優先順位で動作するハードウェアデバイスまたはプログラムプロセスによって共有されるデータ領域です。
+ **キャッシュされたメモリ** — CPU が次に必要とする可能性のあるプログラムの操作で繰り返し使用されるプログラム手順とデータを保存します。
+ **空きメモリ** — まったく使用されておらず、すぐに使用できるメモリです。このメモリは完全に空で、必要なときにシステムで使用できます。
+ **非アクティブなメモリ**— 「最近は」アクセスされていないページです。
+ **合計メモリ** — 実際の物理メモリ RAM のサイズです。
+ **使用済みメモリ**— プログラムやプロセスによって現在使用されているメモリです。

**Topics**
+ [Linux: 収集されたメトリクスと使用された計算](#CloudWatch-agent-metrics-definitions-calculations)
+ [macOS: 収集されたメトリクスと使用された計算](#CloudWatch-agent-metrics-definitions-calculations)
+ [Windows: 収集されたメトリクス](#CloudWatch-agent-metrics-definitions-calculations)
+ [例: Linux でのメモリメトリクスの計算](#CloudWatch-agent-metrics-definitions-LinuxExample)

### Linux: 収集されたメトリクスと使用された計算
<a name="CloudWatch-agent-metrics-definitions-calculations"></a>

収集されたメトリクスと単位:
+ アクティブ (バイト)
+ 使用可能 (バイト)
+ 使用可能率 (パーセント)
+ バッファ済み (バイト)
+ キャッシュ済み (バイト)
+ 空き (バイト)
+ 非アクティブ (バイト)
+ 合計 (バイト)
+ 使用済み (バイト)
+ 使用率 (パーセント)

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

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

### macOS: 収集されたメトリクスと使用された計算
<a name="CloudWatch-agent-metrics-definitions-calculations"></a>

収集されたメトリクスと単位:
+ アクティブ (バイト)
+ 使用可能 (バイト)
+ 使用可能率 (パーセント)
+ 空き (バイト)
+ 非アクティブ (バイト)
+ 合計 (バイト)
+ 使用済み (バイト)
+ 使用率 (パーセント)

**使用可能なメモリ** = 空きメモリ \$1 非アクティブなメモリ

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

**合計メモリ** = 使用可能なメモリ \$1 使用済みメモリ

### Windows: 収集されたメトリクス
<a name="CloudWatch-agent-metrics-definitions-calculations"></a>

Windows ホストで収集されたメトリクスは以下のとおりです。これらのメトリクスの `Unit` はすべて `None` です。
+ 使用可能バイト
+ キャッシュ障害数/秒
+ ページ障害数/秒
+ ページ数/秒

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

### 例: Linux でのメモリメトリクスの計算
<a name="CloudWatch-agent-metrics-definitions-LinuxExample"></a>

例として、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 バイト (メモリフリー \$1 キャッシュ)
+ `mem_free`: 473808896 バイト
+ `mem_cached`: 1893990400 バイト (`cached` \$1 `SReclaimable`)
+ `mem_used`: 1419075584 バイト (`MemTotal` — (`MemFree` \$1 `Buffers` \$1 (`Cached` \$1 `SReclaimable`)))
+ `mem_buffered`: 129667072 バイト
+ `mem_available_percent`: 56.41%
+ `mem_used_percent`: 36.24% (`mem_used` / `mem_total`) \$1 100