

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

# 指標概念
<a name="cloudwatch_concepts"></a>

下方描述是對您理解和使用 Amazon CloudWatch 的術語和概念：
+ [OpenTelemetry 指標](#OpenTelemetry_metrics)
+ [命名空間](#Namespace)
+ [指標](#Metric)
+ [維度](#Dimension)
+ [Resolution](#Resolution_definition)
+ [統計資料](#Statistic)
+ [百分位數](#Percentiles)
+ [警示](#CloudWatchAlarms)

 如需有關 CloudWatch 指標、警示、API 請求和警示電子郵件通知的服務配額的詳細資訊，請參閱 [CloudWatch 服務配額](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)。

## OpenTelemetry 指標
<a name="OpenTelemetry_metrics"></a>

CloudWatch 也支援使用 OpenTelemetry Protocol (OTLP) 傳送的指標。OpenTelemetry 指標使用與傳統 CloudWatch 指標不同的資料模型。OpenTelemetry 指標使用具有遵循 OpenTelemetry 語意慣例的描述性標籤 （鍵/值對） 的指標名稱，而不是命名空間和維度。OpenTelemetry 指標每個指標最多支援 150 個標籤，並支援指標類型，包括量測計、總和、長條圖和指數長條圖。

OpenTelemetry 指標會使用 CloudWatch Query Studio 中的 Prometheus 查詢語言 (PromQL) 或透過 Prometheus 相容查詢 API 進行查詢。您可以在 OpenTelemetry 指標上設定 PromQL 型 CloudWatch 警示。

下表摘要說明 OpenTelemetry 指標與傳統 CloudWatch 指標之間的主要差異。


| 概念 | 傳統 CloudWatch 指標 | OpenTelemetry 指標 | 
| --- | --- | --- | 
| Identity | 命名空間、指標名稱、最多 30 個維度 | 指標名稱，最多 150 個標籤 | 
| 指標類型 | 單一值、統計資料集 | 計量、總和、長條圖、指數長條圖 | 
| 擷取 | PutMetricData API 或 AWS CLI | OpenTelemetry Protocol (OTLP) | 
| 查詢語言 | GetMetricStatistics、Metrics Insights | Prometheus 查詢語言 (PromQL) | 
| 警示 | 標準 CloudWatch 警示 | 以 PromQL 為基礎的 CloudWatch 警示 | 
| 主控台體驗 | CloudWatch 指標主控台 | CloudWatch Query Studio | 
| Retention | 使用自動彙總最多 15 個月 | 30 天 （公開預覽） | 

如需詳細資訊，請參閱[使用 OpenTelemetry 傳送指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-OpenTelemetry-Sections.html)。

## 命名空間
<a name="Namespace"></a>

*命名空間*為 CloudWatch 指標的容器。指標在不同的命名空間中相互隔離，以便不同應用程式的指標不會被錯誤地彙總到相同的統計資訊中。

沒有預設的命名空間。您必須為發布到 CloudWatch 的每個資料點指定命名空間。您可以在建立指標名稱時指定命名空間。這些名稱必須包含有效的 ASCII 字元，且等於或少於 255 個字元。可能的字元包括：英數字元 (0-9A-Za-z)、英文句點 (.)、連字號 (-)、底線 (\$1)、斜線 (/)、雜湊 (\$1)、冒號 (:) 和空格字元。命名空間必須包含至少一個非空格字元。

 AWS 命名空間通常使用以下命名慣例：`AWS/service`。例如，Amazon EC2 使用 `AWS/EC2` 命名空間。如需 AWS 命名空間清單，請參閱 [AWS 發佈 CloudWatch 指標的 服務](aws-services-cloudwatch-metrics.md)。

## 指標
<a name="Metric"></a>

*指標*為 CloudWatch 中的基本概念。指標代表按時間順序發布到 CloudWatch 的一組資料點。您可以將指標視為要監控的變數，且資料點代表該變數隨著時間的值。例如，特定 EC2 執行個體的 CPU 用量是 Amazon EC2 提供的指標。資料點本身可以來自任何您從其中收集資料的應用程式或企業活動。

根據預設，許多 AWS 服務會免費為 資源 （例如 Amazon EC2 執行個體、Amazon EBS 磁碟區和 Amazon RDS 資料庫執行個體） 提供指標。您也可以啟用詳細監控一些資源，例如您的 Amazon EC2 執行個體，或發布自己的應用程式指標。對於自訂指標，您可以任何順序以及您所選的任何費率新增資料點。您可以一組時間序列資料的形式來擷取這些資料點的相關統計資料。

指標只存在於已在其中建立之的區域中。指標無法刪除，但他們會在沒有將資料匯入其中的 15 個月後到期。久於 15 個月的會輪流到期，隨著新資料點加入，久於 15 個月的資料會被刪除。

指標是由名稱、命名空間和零或多個維度做唯一的定義。指標中的每個資料點都有時間戳記和 (選用) 的測量單位。您可以從 CloudWatch 擷取任何指標的統計資料。

如需更多詳細資訊，請參閱「[檢視可用的指標](viewing_metrics_with_cloudwatch.md)」和「[發布自訂指標](publishingMetrics.md)」。

### 時間戳記
<a name="about_timestamp"></a>

每個指標資料點都必須和時間戳記建立關聯。時間戳記最多可達過去兩週和高達未來兩小時。如果您不提供時間戳記，CloudWatch 根據資料點接收的時間為您建立一個時間戳記。

時間戳記是 `dateTime` 物件，內含完整的日期加上小時、分鐘和秒 (例如，2016-10-31T23:59:59 Z)。如需更多詳細資訊，請參閱 [dateTime](http://www.w3.org/TR/xmlschema-2/#dateTime)。雖然沒有要求，我們建議您使用國際標準時間 (UTC)。當您從 CloudWatch 擷取統計資料時，所有時間均以 UTC 表示。

CloudWatch 警示會根據 UTC 目前時間檢查指標。使用目前 UTC 時間以外之時間戳記傳送到 CloudWatch 的自訂指標可能導致警示顯示 **Insufficient Data (資料不足)** 狀態或導致警示延遲。

### 指標保留
<a name="metrics-retention"></a>

CloudWatch 保留如下指標資料：
+ 含少於 60 秒期間的資料點可供使用 3 小時。這些資料點為高解析自訂指標。
+ 含少於 60 秒期間 (1 分鐘) 的資料點可供使用 15 天。
+ 含少於 300 秒期間 (5 分鐘) 的資料點可供使用 63 天
+ 含少於 3600 秒期間 (1 小時) 的資料點可供使用 455 天 (15 個月)。

原先使用較短期間發布的資料點會一起彙總以供長期儲存。例如，如果您使用 1 分鐘的期間收集資料，資料會以 1 分鐘的解析度維持可供使用 15 天。在 15 天候，此資料仍可供使用，但會進行彙總並以僅 5 分鐘的解析度可供擷取。在 63 天候，此資料會進一步進行彙總並以僅 1 小時的解析度可供使用。

**注意**  
過去兩週內沒有任何新資料點的指標不會顯示在主控台中。當您在主控台的 **All metrics (所有指標)** 索引標籤的搜尋方塊中輸入公制名稱或維度名稱時，它們也不會顯示，而且在 [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 命令的結果中不會傳回這些名稱。擷取這些指標的最佳方式是使用 AWS CLI中的 [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html) 或 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 命令。

## 維度
<a name="Dimension"></a>

*維度*是一組名稱值對，是指標身分的一部分。您可以在一個指標中指派最多 30 個維度。

每個指標都有特定的特性 (會描述該特性)，您可以將這些維度視為這些特性的類別。維度可協助您設計統計資料計劃的結構。由於維度是指標唯一識別碼的一部分，當您將唯一名稱/值組新增至其中一個指標時，您建立的是該指標的新變化。

AWS 將資料傳送至 CloudWatch 的 服務會將維度連接至每個指標。您可以使用維度來篩選 CloudWatch 傳回的結果。例如，您可以獲得特定 EC2 執行個體的統計資料，方法是在搜尋指標時指定 `InstanceId` 維度。

對於某些 AWS 服務產生的指標，例如 Amazon EC2，CloudWatch 可以跨維度彙總資料。例如，若在 `AWS/EC2` 命名空間中搜尋指標，但未指定任何維度，CloudWatch 會彙總指定指標的所有資料，來建立您請求的統計數字。CloudWatch 不會為您的自訂指標彙在維度間彙總。

### 維度組合
<a name="dimension-combinations"></a>

即使指標有相同的指標名稱，CloudWatch 會將維度的唯一組合視為個別指標。您可以使用具體發布的維度組合來只擷取統計資料。當您擷取統計資料，請指定用於命名空間的相同值、指標名稱，以及建立指標時使用的維度參數。您也可以指定 CloudWatch 用於彙總的開始和結束時間。

例如，假設您在 DataCenterMetric 命名空間發布名為 ServerStats 的四個不同的指標，內含下列屬性：

```
Dimensions: Server=Prod, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:30:00Z, Value: 105
Dimensions: Server=Beta, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:31:00Z, Value: 115
Dimensions: Server=Prod, Domain=Rio,       Unit: Count, Timestamp: 2016-10-31T12:32:00Z, Value: 95
Dimensions: Server=Beta, Domain=Rio,       Unit: Count, Timestamp: 2016-10-31T12:33:00Z, Value: 97
```

如果您僅發布這四個指標，您可以為這些維度組合擷取統計資料：
+ `Server=Prod,Domain=Frankfurt`
+ `Server=Prod,Domain=Rio`
+ `Server=Beta,Domain=Frankfurt`
+ `Server=Beta,Domain=Rio`

您無法擷取下列維度的統計資料，或是若未指定維度，也無法擷取統計資料。(例外狀況是使用指標數學 **SEARCH** 函數，這可擷取多個指標的統計資料。如需詳細資訊，請參閱「[在圖形中使用搜尋運算式](using-search-expressions.md)」。)
+ `Server=Prod`
+ `Server=Beta`
+ `Domain=Frankfurt`
+ `Domain=Rio`

**注意**  
OpenTelemetry 指標使用標籤而非維度。標籤提供類似的用途，但遵循 OpenTelemetry 語意慣例，每個指標最多支援 150 個標籤。如需詳細資訊，請參閱[OpenTelemetry 指標](#OpenTelemetry_metrics)。

## Resolution
<a name="Resolution_definition"></a>

每個指標皆為下列其中一種：
+ 標準解析度，包含 1 分鐘精細度的資料
+ 高解析度，包含 1 秒鐘精細度的資料

 AWS 服務產生的指標預設為標準解析度。當您發布自訂指標時，可將它定義為標準解析度或高解析度。當您發布高解析度指標時，CloudWatch 會將它以 1 秒鐘解析度儲存，您可以用 1 秒鐘、5 秒鐘、10 秒鐘、30 秒鐘或 60 秒鐘的任何倍數來讀取及擷取它。

高解析度的指標可讓您以高於分鐘層級的精細度，更即時地深入了解您應用程式的活動。請注意，對自訂指標進行的每個 `PutMetricData` 呼叫皆需付費，因此經常對高解析度指標呼叫 `PutMetricData` 將導致更高的費用。如需 CloudWatch 定價的詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

如果您在高解析度指標設定警示，您可以指定期間為 10 秒或 30 秒的高解析度警示，或者設定期間為 60 秒的任何倍數的定期警示。期間為 10 或 30 秒的高解析度警示將產生更高的費用。

**注意**  
OpenTelemetry 指標會以傳送的解析度擷取，沒有最小精細度限制。OpenTelemetry 指標的解析度和彙總行為與傳統 CloudWatch 指標不同。

## 統計資料
<a name="Statistic"></a>

*統計資料*是隨著指定期間的指標資料彙總。CloudWatch 會根據自訂資料或 AWS 其他服務提供給 CloudWatch 的指標資料點提供統計資料。彙總會使用在您指定期間的命名空間、公制名稱、維度和量測資料點單位來進行。

如需 CloudWatch 支援之統計資料的詳細定義，請參閱「[CloudWatch 統計資料定義](Statistics-definitions.md)」。

## 單位
<a name="Unit"></a>

每個統計單位有量測單位。範例單位包括 `Bytes`、`Seconds`、`Count` 和 `Percent`。如需 CloudWatch 支援的單位完整清單，請參閱 *Amazon CloudWatch API 參考* 中的 [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) 資料類型。

您可以在建立自訂指標時指定單位。如果您未指定單位，CloudWatch 會使用 `None` 做為單位。單位可對您的資料提供概念性意義。雖然 CloudWatch 沒有將重要項目連接到內部單位，其他應用程式可以根據單位衍生語意資訊。

指定量測單位的指標資料點會單獨彙總。當您未指定單位而獲得統計資料，CloudWatch 會彙總相同單位的所有資料點。如果您有兩個含不同單位的指標，將會傳回兩個不同的資料串流，每個串流適用於每個單位。

## 期間
<a name="CloudWatchPeriods"></a>

*期間*是與特定 Amazon CloudWatch 統計資料相關聯的時間長度。每個統計資料代表在特定時間段內收集的指標資料彙集。期間會以秒數定義，有效的期間值是 1、5、10、30 或任何多個 60。例如，若要指定六分鐘的期間，請使用 360 做為期間值。您可以透過變化不同的期間長度來調整資料彙總的方式。期間的預設值為 60 秒。期間最短可為 1 秒，如果大於預設值 60 秒，則必須是 60 的倍數。

只有您使用 1 秒儲存解析度定義的自訂指標支援子分鐘的期間。即使設定為低於 60 期間的選擇在主控台中一律可供使用，您應選擇一個期間以符合指標存放的方式。如需有關支援子分鐘期間指標的更多資訊，請參閱 [高解析度指標](publishingMetrics.md#high-resolution-metrics)。

當您擷取統計資料時，您可以指定期間、開始時間和結束時間。這些參數會判斷與統計資料相關的整體時間長度。開始時間和結束時間的預設值會取得最後一個小時的統計資料。您為開始時間和結束時間指定的值會決定 CloudWatch 傳回的期間數量。例如，使用期間、開始時間和結束時間的預設值擷取統計資料，會傳回前一小時每分鐘的一組彙總統計資料。如果您偏好在十分鐘區塊內彙總的統計資料，指定期間為 600。對於在整個小時彙總的統計資料、指定期間為 3600。

當統計資料彙總一段時間後，它們都會標記對應於該期間之起始時間的時間。例如，從下午 7:00 至下午 8:00 的資料彙總標記為下午 7:00。此外，下午 7:00 至下午 8:00 之間的資料彙總開始出現於下午 7:00，然後在該彙總的資料值可能會變更，因為 CloudWatch 在該期間收集更多範例。

期間對 CloudWatch 警示來說也很重要。當您建立警示來監控特定的指標，您會詢問 CloudWatch 以比較指標與您指定的閾值。您可廣泛控制 CloudWatch 進行比較的方式。您不但可以指定比較進行的期間，但您也可以指定在結尾時使用的評估期間數量。例如，如果您指定三個評估期間，CloudWatch 會比較三個資料點的時段。CloudWatch 只會在舊資料點違反規則或其他資料點違反規則或遺漏通知您。

## 聚合
<a name="CloudWatchAggregation"></a>

Amazon CloudWatch 會根據您在擷取統計資料時指定的期間長度彙總統計資料。您可以發布任意數量的資料點，內含相同或類似的時間戳記。CloudWatch 會根據指定的時段長度進行彙總。CloudWatch 不會自動跨區域彙總資料，但您可以使用指標數學來彙總不同區域的指標。

您可以針對指標來發布資料點，其不僅共用相同的時間戳記，但也共用相同的命名空間和維度。CloudWatch 會針對這些資料點傳回彙總的統計資料。您也可以發布適用於相同或不同指標的多個資料點，內含任何時間戳記。

對於大型資料集，您可以插入稱為*數據集*的預先彙總資料集。使用統計資料集，您會提供 CloudWatch 適用於多種資料的最小值、最大值、總和與 SampleCount。當您需要在一分鐘多次收集資料就會常常使用此數據集。例如，假設您有適用於網頁的請求延遲指標。每次按一下網頁時發布資料是沒有意義的。我們建議您收集所有該網頁的按一下延遲，每分鐘彙總一次，並將該統計資料集傳送至 CloudWatch。

Amazon CloudWatch 不區分指標的來源。如果您使用從不同來源的相同命名空間和維度發布指標，CloudWatch 會將其視為單一指標。這對於分散式、擴展系統中的服務指標可能很有用。例如，web 伺服器應用程式的所有主機可以發布相同的指標，以便代表他們正在處理之請求的延遲。CloudWatch 會將這些為單一指標，讓您可以獲得您應用程式中最小值、最大值、平均、和所有請求的統計資料。

## 百分位數
<a name="Percentiles"></a>

*百分位數*會指出資料集中相關準備好的值。例如，第 95 個百分位數表示 95% 的資料是低於此值且 5% 資料高於這個值。百分位數協助您更加了解您指標資料的分佈。

百分位數通常用於隔離異常。在標準分佈中，95% 的資料會在離平均值的兩個標準偏差，而 99.7% 的資料是離平均值的三個標準偏差。超出三個標準偏差的任何資料，通常視為異常，因為它與平均值的差異非常大。例如，假設您監控的是 EC2 執行個體的 CPU 使用率，以確保您的客戶獲得良好的體驗。如果您監控的是平均值，這可以隱藏異常。如果您監控最大值，單一異常可以影響結果。您可以使用百分位數，監控 CPU 使用率的第 95 個百分位數，以查看具異常負載的執行個體。

有些 CloudWatch 指標支援百分位數做為統計資料。針對這些指標，您可以使用百分位數監控系統和應用程式，就像使用其他 CloudWatch 統計資料 (平均值、最小值、最大值及總和)。例如，當您建立警示時，您可以使用百分位數做為統計函數。您可以指定百分位數，最多使用十位小數 (例如，p95.0123456789)。

只要您發布自訂指標的原始、未彙整的資料點，百分比統計資料便可用於自訂指標。當任何指標值為負數時，百分位數統計資料不適用於指標。

CloudWatch 需要原始資料點求來計算百分位。如果您使用統計資料集來發布資料，只有在以下條件之一為 true 時，您才能擷取此資料的百分位數統計資料：
+ 統計資料集的 SampleCount 值是 1，而最小值、最大值和總和都是相等的。
+ 最小值和最大值是相等的，而總和等於最小值乘以 SampleCount。

下列 AWS 服務包含支援百分位數統計資料的指標。
+ API Gateway
+ Application Load Balancer
+ Amazon EC2
+ Elastic Load Balancing
+ Kinesis
+ Lambda
+ Amazon RDS

CloudWatch 還支援裁剪平均值和其他效能統計數字，這些統計數字類似百分位數的用法。如需詳細資訊，請參閱[CloudWatch 統計資料定義](Statistics-definitions.md)。

## 警示
<a name="CloudWatchAlarms"></a>

您可以使用*警示*，以代表您自動啟動動作。警示會監看指定時段內的單一指標，並根據隨著時間與閾值相對的指標值來執行一或多個指定動作。此動作是傳送到 Amazon SNS 主題或 Auto Scaling 政策的通知。您也可以將警示新增至儀表板。

警示僅會針對持續狀態變更調用動作。CloudWatch 警示不會只因為處於特定狀態而調用動作。狀態必須已變更，且在指定的期間數內維持此狀態。

在建立警示時，選取大於或等於指標解析度的警示監控期間。例如，Amazon EC2 的基本監控會每 5 分鐘為您的執行個體提供指標。當對基本監控指標設定警示，選取至少 300 秒 (5 分鐘) 的期間。Amazon EC2 的詳細監控會以 1 分鐘的解析度為您的執行個體提供指標。當對詳細監控指標設定警示，選取至少 60 秒 (1 分鐘) 的期間。

 如果您在高解析度指標設定警示，您可以指定期間為 10 秒或 30 秒的高解析度警示，或者設定期間為 60 秒的任何倍數的定期警示。高解析度警示費用更高。如需高解析度指標的詳細資訊，請參閱 [發布自訂指標](publishingMetrics.md)。

如需詳細資訊，請參閱[使用 Amazon CloudWatch 警示](CloudWatch_Alarms.md)及[從圖形的指標建立警示](create_alarm_metric_graph.md)。

對於 OpenTelemetry 指標，您可以建立以 PromQL 為基礎的 CloudWatch 警示。這些警示使用 PromQL 查詢來定義警示條件，使用 CloudWatch Query Studio 中可用的相同查詢語言。