Amazon CloudWatch 概念 - Amazon CloudWatch

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

Amazon CloudWatch 概念

下方描述是對您理解和使用 Amazon CloudWatch 的術語和概念:

如需有關 CloudWatch 指標、警示、API 請求和警示電子郵件通知的服務配額的詳細資訊,請參閱 CloudWatch 服務配額

命名空間

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

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

AWS 命名空間通常使用以下命名慣例:AWS/service。例如,Amazon EC2 使用 AWS/EC2 命名空間。如需 AWS 命名空間清單,請參閱AWS 發佈 CloudWatch 指標的 服務

指標

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

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

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

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

如需更多詳細資訊,請參閱「檢視可用的指標」和「發佈自訂指標」。

時間戳記

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

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

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

指標保留

CloudWatch 保留如下指標資料:

  • 含少於 60 秒期間的資料點可供使用 3 小時。這些資料點為高解析自訂指標。

  • 含少於 60 秒期間 (1 分鐘) 的資料點可供使用 15 天。

  • 含少於 300 秒期間 (5 分鐘) 的資料點可供使用 63 天

  • 含少於 3600 秒期間 (1 小時) 的資料點可供使用 455 天 (15 個月)。

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

注意

過去兩週內沒有任何新資料點的指標不會顯示在主控台中。當您在主控台的 All metrics (所有指標) 索引標籤的搜尋方塊中輸入公制名稱或維度名稱時,它們也不會顯示,而且在 list-metrics 命令的結果中不會傳回這些名稱。擷取這些指標的最佳方式是使用 AWS CLI中的 get-metric-dataget-metric-statistics 命令。

維度

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

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

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

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

維度組合

即使指標有相同的指標名稱,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 函數,這可擷取多個指標的統計資料。如需詳細資訊,請參閱「在圖形中使用搜尋運算式」。)

  • Server=Prod

  • Server=Beta

  • Domain=Frankfurt

  • Domain=Rio

Resolution

每個指標皆為下列其中一種:

  • 標準解析度,包含 1 分鐘精細度的資料

  • 高解析度,包含 1 秒鐘精細度的資料

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

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

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

統計資料

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

如需 CloudWatch 支援之統計資料的詳細定義,請參閱「CloudWatch 統計資料定義」。

單位

每個統計單位有量測單位。範例單位包括 BytesSecondsCountPercent。如需 CloudWatch 支援的單位完整清單,請參閱 Amazon CloudWatch API 參考 中的 MetricDatum 資料類型。

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

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

期間

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

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

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

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

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

聚合

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

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

對於大型資料集,您可以插入稱為數據集的預先彙總資料集。使用統計資料集,您會提供 CloudWatch 適用於多種資料的最小值、最大值、總和與 SampleCount。當您需要在一分鐘多次收集資料就會常常使用此數據集。例如,假設您有網頁請求延遲的指標。在每個網頁點擊時發佈資料並不合理。我們建議您收集該網頁所有命中項目的延遲,每分鐘彙總一次,並將該統計資料集傳送至 CloudWatch。

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

百分位數

百分位數會指出資料集中相關準備好的值。例如,第 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

  • Amazon RDS

CloudWatch 還支援裁剪平均值和其他效能統計數字,這些統計數字類似百分位數的用法。如需詳細資訊,請參閱CloudWatch 統計資料定義

警示

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

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

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

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

如需詳細資訊,請參閱 使用 Amazon CloudWatch 警示從圖形的指標建立警示