

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

# 使用 StatsD 擷取自訂指標
<a name="CloudWatch-Agent-custom-metrics-statsd"></a>

您可以使用 CloudWatch 代理程式搭配 `StatsD` 通訊協定，從應用程式或服務擷取其他自訂指標。StatSD 是一種普遍的開放原始碼解決方案，可以從各種應用程式收集指標。StatSD 對於檢測您自己的指標特別有用。如需同時使用 CloudWatch 代理程式和 StatSD 的範例，請參閱[如何使用 Amazon CloudWatch Agent 進一步監控您的自訂應用程式指標](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/)。

Linux 伺服器和執行 Windows Server 的伺服器上支援 `StatsD`。CloudWatch 支援下列 `StatsD` 格式：

```
{{MetricName}}:{{value}}|{{type}}|@{{sample_rate}}|#{{tag1}}:
  {{value}},{{tag1}}...
```
+ `MetricName` – 字串，不含冒號、直線、\# 字元或 @ 字元。
+ `value` – 這可以是整數或浮點數。
+ `type` – 指定 `c` (用於計數器)、`g` (用於測量儀)、`ms` (用於計時器)、`h` (用於長條圖) 或 `s` (用於 set)。
+ `sample_rate` – (選用) 介於 0 和 1 的浮點數，包含 0 和 1。僅適用於計數器、長條圖、計時器指標。預設值為 1 (抽樣 100% 的時間)。
+ `tags` – (選用) 標籤的逗號分隔清單。`StatsD` 標籤與 CloudWatch 中的維度相似。對鍵/值標籤使用冒號，例如 `env:prod`。

您可以使用任何遵循此格式的 `StatsD` 用戶端，將指標傳送給 CloudWatch 代理程式。如需一些可用 `StatsD` 用戶端的詳細資訊，請參閱 [GitHub 上的 StatsD 用戶端頁面](https://github.com/etsy/statsd/wiki#client-implementations)。

若要收集這些自訂指標，請將 `"statsd": {}` 這一行新增到代理程式組態檔案的 `metrics_collected` 區段。您可以手動加入這一行。如果您使用精靈來建立組態檔案，它會替您完成這項作業。如需詳細資訊，請參閱[建立 CloudWatch 代理程式組態檔案](create-cloudwatch-agent-configuration-file.md)。

`StatsD` 預設的組態可適用於大部分的使用者。有多個選用欄位，您可以視需要將其新增至代理程式組態檔的 **statsd** 區段：
+ `service_address` – CloudWatch 代理程式應接聽的服務地址。格式是 `{{ip}}:{{port}}`。如果您省略 IP 地址，代理程式會監聽所有可用介面。僅支援 UDP 格式，因此您不需要指定 UDP 前綴。

  預設值為 `:8125`。
+ `metrics_collection_interval` – `StatsD` 外掛程式執行和收集指標的頻率 (以秒為單位)。預設值為 10 秒。範圍介於 1 – 172,000 之間。
+ `metrics_aggregation_interval` – CloudWatch 將指標彙整到單一資料點的頻率 (以秒為單位)。預設值為 60 秒。

  例如，如果 `metrics_collection_interval` 是 10，`metrics_aggregation_interval` 是 60，表示 CloudWatch 每 10 秒收集一次資料。每過一分鐘，這一分鐘裡的六個資料讀數會彙整到單一資料點，並傳送到 CloudWatch。

  範圍介於 0 – 172,000 之間。將 `metrics_aggregation_interval` 設為 0，會停止彙整 `StatsD` 指標。
+ `allowed_pending_messages` – 允許排入佇列的 UDP 訊息數量。當佇列已滿時，StatsD 伺服器會開始捨棄封包。預設值為 10000。
+ `drop_original_metrics` - 選用。如果您使用 `metrics` 區段中的 `aggregation_dimensions` 欄位，將指標彙總為彙總結果，則代理程式預設會同時傳送為每個維度值分開的彙總指標和原始指標。如果您不想將原始指標傳送至 CloudWatch，可以使用指標清單指定此參數。與此參數一起指定的指標沒有依維度將指標報告給 CloudWatch。而是只報告彙總指標。這樣可以減少代理程式收集的指標數量，降低您的成本。

以下範例是代理程式組態檔案的 **statsd** 區段，其中使用預設的連接埠和自訂收集以及彙總間隔。

```
{
   "metrics":{
      "metrics_collected":{
         "statsd":{
            "service_address":":8125",
            "metrics_collection_interval":60,
            "metrics_aggregation_interval":300
         }
      }
   }
}
```

## 檢視由 CloudWatch 代理程式匯入的 StatsD 指標
<a name="CloudWatch-view-statsd-metrics"></a>

將 StatsD 指標匯入 CloudWatch 後，您可以以時間序列圖形形式檢視這些指標，並建立警示來監控這些指標，並在違反您指定的閾值時通知您。下列程序顯示如何以時間序列圖形檢視 StatsD 指標。如需設定警示的詳細資訊，請參閱 [使用 Amazon CloudWatch 警示](CloudWatch_Alarms.md)。

**若要在 CloudWatch 主控台中檢視 StatsD 指標**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇**指標**。

1. 選擇用於代理程式所收集指標的命名空間。根據預設，此為 **CWAgent**，但您可能已在 CloudWatch 代理程式組態檔案中指定了不同的命名空間。

1. 選擇指標維度 (例如 **Per-Instance Metrics** (每個執行個體指標))。

1. **All metrics (所有指標)** 索引標籤會顯示命名空間中該維度的所有指標。您可以執行下列動作：

   1. 若要將指標圖形化，請勾選指標旁的核取方塊。若要選擇所有指標，請勾選表格標題列中的核取方塊。

   1. 若要將資料表排序，請使用直欄標題。

   1. 若要依資源篩選，請選擇資源 ID，然後選擇 **Add to search** (新增至搜尋)。

   1. 若要依指標篩選，請選擇指標名稱，然後選擇 **Add to search (新增至搜尋)**。

1. (選用) 若要將圖形新增至 CloudWatch 儀表板，請選擇 **Actions** (動作)、**Add to dashboard** (新增至儀表板)。