本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon 監控 Amazon Kinesis Data Streams 服務 CloudWatch
Amazon Kinesis Data Streams 和 Amazon CloudWatch 已整合,因此您可以收集、檢視和分析 CloudWatch Kinesis 資料串流的指標。例如,若要追蹤碎片用量,您可以監控 IncomingBytes
和 OutgoingBytes
指標,並將它們與串流中的碎片數量比較。
您設定的串流指標和碎片層級指標會自動收集,並推送至 CloudWatch 每分鐘。指標將封存兩週,之後即會捨棄資料。
下表說明 Kinesis 資料串流的基本串流層級和增強之碎片層級監控。
Type | 描述 |
---|---|
基本 (串流層級) |
串流層級資料將每分鐘免費自動傳送。 |
增強 (碎片層級) |
碎片層級資料會每分鐘傳送 (需另行支付費用)。若要取得此層級的資料,您必須使用 EnableEnhancedMonitoring操作為串流特別啟用它。 如需定價的相關資訊,請參閱 Amazon CloudWatch 產品頁面。 |
Amazon Kinesis Data Streams 維度和指標
Kinesis Data Streams CloudWatch 會在兩個層級將指標傳送至 :串流層級,以及可選擇的碎片層級。串流層級指標適用於正常情況下最常見的監控使用案例。碎片層級指標適用於特定監控任務,通常與疑難排解相關,並使用 EnableEnhancedMonitoring操作啟用。
如需從 CloudWatch 指標收集的統計資料說明,請參閱 Amazon CloudWatch 使用者指南 中的CloudWatch 統計資料。
基本串流層級指標
AWS/Kinesis
命名空間包含下列串流層級指標。
Kinesis Data Streams CloudWatch 每分鐘會傳送這些串流層級指標。這些是一律可用的指標。
指標 | 描述 |
---|---|
GetRecords.Bytes |
擷取自 Kinesis 串流的位元組數目,這是對指定的期間進行測量。Minimum、Maximum 與 Average 統計資訊代表指定期間內串流之單一 分區層級指標名稱: 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:位元組 |
GetRecords.IteratorAge |
此指標不再使用。請使用 |
GetRecords.IteratorAgeMilliseconds |
對 Kinesis 串流進行之所有 分區層級指標名稱: 維度: StreamName 統計資訊:Minimum、Maximum、Average、Samples 單位:毫秒 |
GetRecords.Latency |
每個 維度: StreamName 統計資訊:Minimum、Maximum、Average 單位:毫秒 |
GetRecords.Records |
擷取自分區的記錄數目,這是對指定的期間進行測量。Minimum、Maximum 與 Average 統計資訊代表指定期間內串流之單一 分區層級指標名稱: 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
GetRecords.Success |
每個串流的成功 維度: StreamName 統計資訊:Average、Sum、Samples 單位:計數 |
IncomingBytes |
在指定的期間內,成功放入 Kinesis 串流的位元組數目。此指標包含來自 分區層級指標名稱: 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:位元組 |
IncomingRecords |
在指定的期間內,成功放入 Kinesis 串流的記錄數目。此指標包含來自 分區層級指標名稱: 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
PutRecord.Bytes |
在指定的期間內,使用 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:位元組 |
PutRecord.Latency |
每個 維度: StreamName 統計資訊:Minimum、Maximum、Average 單位:毫秒 |
PutRecord.Success |
每個 Kinesis 串流的成功 維度: StreamName 統計資訊:Average、Sum、Samples 單位:計數 |
PutRecords.Bytes |
在指定的期間內,使用 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:位元組 |
PutRecords.Latency |
每個 維度: StreamName 統計資訊:Minimum、Maximum、Average 單位:毫秒 |
PutRecords.Records |
此指標已淘汰。請使用 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
PutRecords.Success |
每個 Kinesis 串流中至少有一筆記錄成功的 維度: StreamName 統計資訊:Average、Sum、Samples 單位:計數 |
PutRecords.TotalRecords |
每個 Kinesis 資料串流之 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
PutRecords.SuccessfulRecords |
每個 Kinesis 資料串流之 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
PutRecords.FailedRecords |
由於內部失敗,每個 Kinesis 資料串流之 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
PutRecords.ThrottledRecords |
每個 Kinesis 資料串流之 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
ReadProvisionedThroughputExceeded |
在指定的期間內,針對串流進行調節的 Minimum 統計資訊的值為 1 時,已在指定期間內調節串流的所有記錄。 Maximum 統計資訊的值為 0 (零) 時,未在指定期間內調節串流的任何記錄。 分區層級指標名稱: 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
SubscribeToShard.RateExceeded |
當新訂閱嘗試因為已有相同消費者的作用中訂閱或您超出此操作每秒允許的呼叫數目而失敗時,會發出此指標。 維度: StreamName、 ConsumerName |
SubscribeToShard.Success |
此指標會 SubscribeToShard記錄訂閱是否已成功建立。訂閱最多只會存留 5 分鐘。因此,此指標至少每 5 分鐘發出一次。 維度: StreamName、 ConsumerName |
SubscribeToShardEvent.Bytes |
接收自碎片的位元組數目,此數量是在指定的期間進行測量。Minimum、Maximum 與 Average 統計資訊代表指定時段內在單一事件中發佈的位元組。 分區層級指標名稱: 維度: StreamName、 ConsumerName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:位元組 |
SubscribeToShardEvent.MillisBehindLatest |
讀取記錄來自串流頂端的毫秒數,表示消費者目前時間落後多少。 維度: StreamName、 ConsumerName 統計資訊:Minimum、Maximum、Average、Samples 單位:毫秒 |
SubscribeToShardEvent.Records |
接收自碎片的記錄數目,此數量是在指定的期間進行測量。Minimum、Maximum 與 Average 統計資訊代表指定時段內在單一事件中的記錄。 分區層級指標名稱: 維度: StreamName、 ConsumerName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
SubscribeToShardEvent.Success |
此指標會在每次事件成功發佈時發出。只在有作用中訂閱時此發出此指標。 維度: StreamName、 ConsumerName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
WriteProvisionedThroughputExceeded |
因在指定期間內調節串流而拒絕的記錄數目。此指標包含來自 Minimum 統計資訊的值為非零時,正在指定期間內調節串流的記錄。 Maximum 統計資訊的值為 0 (零) 時,目前未在指定期間內調節串流的所有記錄。 分區層級指標名稱: 維度: StreamName 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
增強碎片層級指標
AWS/Kinesis
命名空間包含下列分區層級指標。
Kinesis CloudWatch 每分鐘會傳送下列碎片層級指標給 。每個指標維度都會建立 1 個 CloudWatch 指標,並且每月會進行大約 43,200 個PutMetricData
API呼叫。預設不會啟用這些指標。Kinesis 發出之增強型指標會收取費用。如需詳細資訊,請參閱 Amazon Custom Metrics 標題下的 Amazon CloudWatch
指標 | 描述 |
---|---|
IncomingBytes |
在指定的期間內,成功放入分區的位元組數目。此指標包含來自 串流層級指標名稱: 維度: StreamName、 ShardId 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:位元組 |
IncomingRecords |
在指定的期間內,成功放入分區的記錄數目。此指標包含來自 串流層級指標名稱: 維度: StreamName、 ShardId 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
IteratorAgeMilliseconds |
對分區進行之所有 串流層級指標名稱: 維度: StreamName、 ShardId 統計資訊:Minimum、Maximum、Average、Samples 單位:毫秒 |
OutgoingBytes |
擷取自分區的位元組數目,這是對指定的期間進行測量。Minimum、Maximum 與 Average 統計資訊代表在指定期間內碎片之單一 串流層級指標名稱: 維度: StreamName、 ShardId 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:位元組 |
OutgoingRecords |
擷取自分區的記錄數目,這是對指定的期間進行測量。Minimum、Maximum 與 Average 統計資訊代表在指定期間內碎片之單一 串流層級指標名稱: 維度: StreamName、 ShardId 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
ReadProvisionedThroughputExceeded |
在指定的期間內,針對分區進行調節的 Minimum 統計資訊的值為 1 時,已在指定期間內調節分區的所有記錄。 Maximum 統計資訊的值為 0 (零) 時,未在指定期間內調節分區的任何記錄。 串流層級指標名稱: 維度: StreamName、 ShardId 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
WriteProvisionedThroughputExceeded |
因在指定期間內調節分區而拒絕的記錄數目。此指標包含來自 Minimum 統計資訊的值為非零時,正在指定期間內調節分區的記錄。 Maximum 統計資訊的值為 0 (零) 時,未在指定期間內調節分區的任何記錄。 串流層級指標名稱: 維度: StreamName、 ShardId 統計資訊:Minimum、Maximum、Average、Sum、Samples 單位:計數 |
Amazon Kinesis Data Streams 指標的維度
維度 |
描述 |
---|---|
StreamName
|
Kinesis 串流名稱。所有可用的統計資訊皆以 |
建議的 Amazon Kinesis Data Streams 指標
Kinesis 資料串流客戶可能會對數個 Amazon Kinesis Data Streams 指標會特別感興趣。以下清單提供建議的指標和其使用方式。
指標 | 使用須知 |
---|---|
|
追蹤串流中所有碎片和取用者的讀取位置。如果反覆運算器的存留期超過保留期間的 50% (預設為 24 小時,最多可設定為 7 天),會有由於記錄過期而遺失資料的風險。我們建議您在最大統計量上使用 CloudWatch 警示,以便在此遺失發生風險之前提醒您。如需使用此指標的範例案例,請參閱消費者記錄處理落後。 |
|
當您的取用者端記錄處理落後,有時難以知道瓶頸所在位置。使用此指標來判斷您的讀取是否因為超過讀取輸送量限制而受到節制。此指標的最常用統計資訊是 Average。 |
WriteProvisionedThroughputExceeded |
這是用於與 ReadProvisionedThroughputExceeded 指標相同的用途,但用於串流的生產程式 (put) 端。此指標的最常用統計資訊是 Average。 |
PutRecord.Success ,
PutRecords.Success |
我們建議您在平均統計量上使用 CloudWatch 警示,以指示記錄何時無法串流。根據生產程式的用途,選擇其中一個或兩個 put 類型。如果使用 Kinesis Producer Library (KPL),請使用 PutRecords.Success 。 |
GetRecords.Success |
我們建議在平均統計量上使用 CloudWatch 警示,以指示記錄何時從串流失敗。 |
存取 Kinesis Data Streams 的 Amazon CloudWatch 指標
您可以使用 CloudWatch 主控台、命令列或 監控 Kinesis Data Streams 的指標 CloudWatch API。以下程序將說明如何使用這些不同的方法來存取指標。
使用 CloudWatch 主控台存取指標
在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽列上,選擇一個區域。
-
在導覽窗格中,選擇 指標。
-
在CloudWatch 依類別區分的指標窗格中,選擇 Kinesis 指標 。
-
按一下相關資料列以檢視指定 MetricName和 的統計資料StreamName。
注意:大多數主控台統計資料名稱都符合先前列出的對應 CloudWatch 指標名稱,但讀取輸送量和寫入輸送量 除外。這些統計資料會以 5 分鐘的間隔計算:寫入輸送量監控
IncomingBytes
CloudWatch 指標,以及讀取輸送量監控GetRecords.Bytes
。 -
(選用) 在圖形窗格中,選取統計資料和期間,然後使用這些設定建立 CloudWatch 警示。
使用 存取指標 AWS CLI
使用 list-metrics 和get-metric-statistics命令。
使用 存取指標 CloudWatch CLI
使用 mon-list-metrics和 mon-get-stats命令。
使用 存取指標 CloudWatch API
使用 ListMetrics和 GetMetricStatistics操作。