

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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 代理程式收集的指標。

## 由 CloudWatch 代理程式在 Windows Server 執行個體上收集的指標
<a name="windows-metrics-enabled-by-CloudWatch-agent"></a>

在執行 Windows Server 的伺服器上安裝 CloudWatch 代理程式，可讓您收集與 Windows 效能監控計數器關聯的指標。這些計數器的 CloudWatch 指標名稱，是透過在物件名稱和計數器名稱之間放入空格來建立。例如，`Processor` 物件 `% Interrupt Time` 計數器會在 CloudWatch 中獲得指標名稱 `Processor % Interrupt Time`。如需有關 Windows 效能監控計數器的詳細資訊，請參閱 Microsoft Windows Server 文件。

由 CloudWatch 代理程式收集指標的預設命名空間是 `CWAgent`，不過您可以在設定代理程式時指定不同的命名空間。

## 由 CloudWatch 代理程式在 Linux 和 macOS 執行個體上收集的指標
<a name="linux-metrics-enabled-by-CloudWatch-agent"></a>

下表列出您可以在 Linux 伺服器和 macOS 電腦上使用 CloudWatch 代理程式收集的指標。


| 指標 | Description | 
| --- | --- | 
| `cpu_time_active` | CPU 在任何容量中作用所花的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_guest` | CPU 執行訪客作業系統虛擬 CPU 所花的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_guest_nice` | CPU 為訪客作業系統執行虛擬 CPU 的時間量，此優先順序較低，且可能被其他程序中斷。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_idle` | CPU 閒置所花費的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_iowait` | CPU 等待 I/O 操作完成所花費的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_irq` | CPU 服務中斷所花費的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_nice` | CPU 在使用者模式中處理低優先順序程序的時間量，可輕易被高優先順序的程序中斷。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_softirq` | CPU 服務軟體中斷所花費的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_steal` | CPU 在*遭竊的時間*中所費的時間，也是在虛擬化環境中其他作業系統所花的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_system` | CPU 在系統模式中所花費的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_time_user` | CPU 在使用者模式中所花費的時間。這個指標是以百分之一秒來測量。<br />單位：無 | 
| `cpu_usage_active` | CPU 在任何容量中作用所花的時間百分比。<br />單位：百分比 | 
| `cpu_usage_guest` | CPU 執行訪客作業系統虛擬 CPU 的時間百分比。<br />單位：百分比 | 
| `cpu_usage_guest_nice` | CPU 為訪客作業系統執行虛擬 CPU 的時間百分比，其優先順序較低，且可能被其他程序中斷。<br />單位：百分比 | 
| `cpu_usage_idle` | CPU 閒置時間的百分比。<br />單位：百分比 | 
| `cpu_usage_iowait` | CPU 等待 I/O 操作完成的時間百分比。<br />單位：百分比 | 
| `cpu_usage_irq` | CPU 服務中斷的時間百分比。<br />單位：百分比 | 
| `cpu_usage_nice` | CPU 在使用者模式中處理低優先順序程序的時間百分比，可輕易被高優先順序的程序中斷。<br />單位：百分比 | 
| `cpu_usage_softirq` | CPU 服務軟體中斷的時間百分比。<br />單位：百分比 | 
| `cpu_usage_steal` | CPU 在*遭奪取時間*中的時間百分比，或是在虛擬化環境中其他作業系統內所花的時間。<br />單位：百分比 | 
| `cpu_usage_system` | CPU 在系統模式中的時間百分比。<br />單位：百分比 | 
| `cpu_usage_user` | CPU 在使用者模式中的時間百分比。<br />單位：百分比 | 
| `disk_free` | 磁碟上的可用空間。<br />單位：位元組 | 
| `disk_inodes_free` | 磁碟上可用的索引節點數量。<br />單位：計數 | 
| `disk_inodes_total` | 磁碟上預留的所有索引節點數量。<br />單位：計數 | 
| `disk_inodes_used` | 磁碟上使用的索引節點數量。<br />單位：計數 | 
| `disk_total` | 磁碟上的總空間，包括已使用的和可用空間。<br />單位：位元組 | 
| `disk_used` | 磁碟上的已使用空間。<br />單位：位元組 | 
| `disk_used_percent` | 已使用總磁碟空間的百分比。<br />單位：百分比 | 
| `diskio_iops_in_progress` | 已發至裝置驅動程式但尚未完成的 I/O 請求數量。<br />單位：計數 | 
| `diskio_io_time` | 磁碟有 I/O 請求排入佇列的時間量。<br />單位：毫秒<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `diskio_reads` | 磁碟讀取操作的數量。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `diskio_read_bytes` | 讀取自磁碟的位元組數目。<br />單位：位元組<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `diskio_read_time` | 讀取請求在磁碟上等待的時間。多個同時等待的讀取請求都會增加數量。例如，如果有 5 個請求平均都等待了 100 毫秒，則會報告 500 個。<br />單位：毫秒<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `diskio_writes` | 磁碟寫入操作的數量。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `diskio_write_bytes` | 寫入至磁碟的位元組數目。<br />單位：位元組<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `diskio_write_time` | 寫入請求在磁碟上等待的時間。多個同時等待的寫入請求都會增加數量。例如，如果有 8 個請求平均都等待了 1000 毫秒，則會報告 8000 個。<br />單位：毫秒<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `ethtool_bw_in_allowance_exceeded` | 因傳入的彙總頻寬超過執行個體的上限而排入佇列及/或丟棄的封包數目。<br />此指標只有在您已將其列在 CloudWatch 代理程式組態檔案的 `metrics_collected` 區段的 `ethtool` 子區段。如需詳細資訊，請參閱 [收集網路效能指標](CloudWatch-Agent-network-performance.md)<br />單位：無 | 
| `ethtool_bw_out_allowance_exceeded` | 因傳出的彙總頻寬超過執行個體的上限而排入佇列及/或丟棄的封包數目。<br />此指標只有在您已將其列在 CloudWatch 代理程式組態檔案的 `metrics_collected` 區段的 `ethtool` 子區段。如需詳細資訊，請參閱 [收集網路效能指標](CloudWatch-Agent-network-performance.md)<br />單位：無 | 
| `ethtool_conntrack_allowance_exceeded` | 因為連線追蹤超過執行個體的上限且無法建立新的連線，而丟棄的封包數目。這可能會導致傳送或傳回執行個體流量的封包遺失。<br />此指標只有在您已將其列在 CloudWatch 代理程式組態檔案的 `metrics_collected` 區段的 `ethtool` 子區段。如需詳細資訊，請參閱 [收集網路效能指標](CloudWatch-Agent-network-performance.md)<br />單位：無 | 
| `ethtool_linklocal_allowance_exceeded` | 由於本機代理伺服器服務的流量 PPS 超過網路介面上限而丟棄的封包數目。這會影響 DNS 服務、執行個體中繼資料服務和 Amazon Time Sync Service 的流量。<br />此指標只有在您已將其列在 CloudWatch 代理程式組態檔案的 `metrics_collected` 區段的 `ethtool` 子區段。如需詳細資訊，請參閱 [收集網路效能指標](CloudWatch-Agent-network-performance.md)<br />單位：無 | 
| `ethtool_pps_allowance_exceeded` | 因雙向 PPS 超過執行個體的上限而排入佇列及/或丟棄的封包數目。<br />此指標只有在您已將其列在 CloudWatch 代理程式組態檔案的 `metrics_collected` 區段的 `ethtool` 子區段。如需詳細資訊，請參閱[收集網路效能指標](CloudWatch-Agent-network-performance.md)。<br />單位：無 | 
| `mem_active` | 在最後一個取樣期間以一些方式使用的記憶體數量。<br />單位：位元組 | 
| `mem_available` | 可用的記憶體數量，可以立即指定到程序。<br />單位：位元組 | 
| `mem_available_percent` | 可用的記憶體百分比，可以立即指定到程序。<br />單位：百分比 | 
| `mem_buffered` | 用於緩衝區的記憶體數量。<br />單位：位元組 | 
| `mem_cached` | 用於檔案快取的記憶體數量。<br />單位：位元組 | 
| `mem_free` | 未使用的記憶體數量。<br />單位：位元組 | 
| `mem_inactive` | 在最後一個抽象期間以某些方式而未使用的記憶體數量。<br />單位：位元組 | 
| `mem_shared` | 在程序之間共用的記憶體數量。<br />單位：位元組 | 
| `mem_total` | 記憶體總量。<br />單位：位元組 | 
| `mem_used` | 目前使用中的記憶體數量。<br />單位：位元組 | 
| `mem_used_percent` | 目前使用中的記憶體百分比。<br />單位：百分比 | 
| `net_bytes_recv` | 網路介面收到的位元組數目。<br />單位：位元組<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `net_bytes_sent` | 網路介面傳送的位元組數目。<br />單位：位元組<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `net_drop_in` | 此網路介面所接收且已捨棄的封包數量。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `net_drop_out` | 此網路介面所傳輸且已捨棄的封包數量。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `net_err_in` | 此網路介面偵測到的接收錯誤數量。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `net_err_out` | 此網路介面偵測到的傳送錯誤數量。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `net_packets_sent` | 此網路介面傳送的封包數目。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `net_packets_recv` | 此網路介面接收的封包數目。<br />單位：計數<br />此指標應使用的唯一統計資訊為 `Sum`。請勿選擇 `Average`。 | 
| `netstat_tcp_close` | 無狀態的 TCP 連接數目。<br />單位：計數 | 
| `netstat_tcp_close_wait` | 從用戶端等待終止請求的 TCP 連線數量。<br />單位：計數 | 
| `netstat_tcp_closing` | 具用戶端認可，等待終止請求的 TCP 連線數量。<br />單位：計數 | 
| `netstat_tcp_established` | 已建立的 TCP 連線數量。<br />單位：計數 | 
| `netstat_tcp_fin_wait1` | 在關閉連線程序期間，處於 `FIN_WAIT1` 狀態的 TCP 連線數量。<br />單位：計數 | 
| `netstat_tcp_fin_wait2` | 在關閉連線程序期間，處於 `FIN_WAIT2` 狀態的 TCP 連線數量。<br />單位：計數 | 
| `netstat_tcp_last_ack` | 等待用戶端傳送連線終止訊息認可的 TCP 連接數量。這是連線關閉前的最後一個狀態。<br />單位：計數 | 
| `netstat_tcp_listen` | 目前偵聽連線請求的 TCP 連接埠數量。<br />單位：計數 | 
| `netstat_tcp_none` | 非使用中用戶端的 TCP 連接數目。<br />單位：計數 | 
| `netstat_tcp_syn_sent` | 在傳送連線請求後，等待符合連線請求的 TCP 連線數目。<br />單位：計數 | 
| `netstat_tcp_syn_recv` | 在傳送並接收連線請求後，等待連線請求認可的 TCP 連線數目。<br />單位：計數 | 
| `netstat_tcp_time_wait` | 目前正在等待以確定用戶端收到連線終止請求的 TCP 連接數目。<br />單位：計數 | 
| `netstat_udp_socket` | 目前 UDP 連線數量。<br />單位：計數 | 
| `processes_blocked` | 封鎖的程序數量。<br />單位：計數 | 
| `processes_dead` | 無效的程序數量，在 Linux 上以 `X` 狀態代碼指出。<br />此指標不會在 macOS 電腦上收集。<br />單位：計數 | 
| `processes_idle` | 閒置的程序數量 (睡眠超過 20 秒)。僅適用於 FreeBSD 執行個體。<br />單位：計數 | 
| `processes_paging` | 正在分頁的程序數量，在 Linux 上以 `W` 狀態代碼指出。<br />此指標不會在 macOS 電腦上收集。<br />單位：計數 | 
| `processes_running` | 執行中的程序數量，以 `R` 狀態代碼指出。<br />單位：計數 | 
| `processes_sleeping` | 睡眠中的程序數量，以 `S` 狀態代碼指出。<br />單位：計數 | 
| `processes_stopped` | 停止的程序數量，以 `T` 狀態代碼指出。<br />單位：計數 | 
| `processes_total` | 在執行個體上的程序總數。<br />單位：計數 | 
| `processes_total_threads` | 構成程序的執行緒總數。此指標只適用於 Linux 執行個體。<br />此指標不會在 macOS 電腦上收集。<br />單位：計數 | 
| `processes_wait` | 正在分頁的程序數量，在 FreeBSD 執行個體上以 `W` 狀態代碼指出。此指標僅適用於 FreeBSD 執行個體，不適用於 Linux、Windows Server 或 macOS 執行個體。<br />單位：計數 | 
| `processes_zombies` | 殭屍程序數量，以 `Z` 狀態代碼指出。<br />單位：計數 | 
| `swap_free` | 未使用的切換空間數量。<br />單位：位元組 | 
| `swap_used` | 目前使用中的交換空間數量。<br />單位：位元組 | 
| `swap_used_percent` | 目前使用中的交換空間百分比。<br />單位：百分比 | 

## CloudWatch 代理程式收集之記憶體指標的定義
<a name="CloudWatch-agent-metrics-definitions"></a>

CloudWatch 代理程式收集記憶體指標時，其來源為主機的記憶體管理子系統。舉例來說，Linux 核心會在 `/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>

收集的指標和單位：
+ 作用中 (位元組)
+ 可用 (位元組)
+ 可用百分比 (百分比)
+ 緩衝 (位元組)
+ 快取 (位元組)
+ 閒置 (位元組)
+ 非作用中 (位元組)
+ 總計 (位元組)
+ 已使用 (位元組)
+ 已使用百分比 (百分比)

**已使用記憶體** = 記憶體總計 - 可用記憶體 - 快取記憶體 - 緩衝記憶體

**記憶體總計** = 已使用記憶體 \+ 可用記憶體 \+ 快取記憶體 \+ 緩衝記憶體

### macOS：收集的指標和使用的計算
<a name="CloudWatch-agent-metrics-definitions-calculations"></a>

收集的指標和單位：
+ 作用中 (位元組)
+ 可用 (位元組)
+ 可用百分比 (百分比)
+ 閒置 (位元組)
+ 非作用中 (位元組)
+ 總計 (位元組)
+ 已使用 (位元組)
+ 已使用百分比 (百分比)

**可用記憶體** = 閒置記憶體 \+ 非作用中記憶體

**已使用記憶體** = 記憶體總計 - 可用記憶體

**記憶體總計** = 可用記憶體 - 已使用記憶體

### 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 位元組 (MemFree \+ Cached)
+ `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