Amazon CloudWatch による Amazon Kinesis Data Streams サービスを監視する
Amazon Kinesis Data Streams は Amazon CloudWatch と統合されているため、Kinesis data streams の CloudWatch メトリクスを収集、表示、および分析できます。たとえば、シャードの使用状況の追跡に、IncomingBytes
メトリクス OutgoingBytes
とメトリクスをモニタリングし、ストリーム内のシャードカウントと比較できます。
ストリームメトリクスと設定する共有レベルのメトリクスは、自動的に収集され、1 分おきに CloudWatch にプッシュされます。2 週間分のメトリクスがアーカイブされ、その期間が経過したデータは破棄されます。
次の表は、Kinesis data streams の基本的なストリームレベルと拡張シャードレベルのモニタリングについて説明しています。
型 | 説明 |
---|---|
ベーシック (ストリームレベル) |
ストリーム レベルのデータは、1 分間ごとに自動的に送信されます。料金は発生しません。 |
拡張 (シャードレベル) |
シャードレベルのデータは、1分ごとに送信されます。追加料金が発生します。このレベルのデータを取得するには、EnableEnhancedMonitoring オペレーションを使用してストリームを明示的に有効にする必要があります。 料金の詳細については、Amazon CloudWatch の料金 |
Amazon Kinesis Data Streams のディメンションとメトリクス
Kinesis Data Streams は、ストリームレベルとオプションのシャードレベルの 2 つのレベルでメトリクスを CloudWatch に送信します。ストリームレベルのメトリクスは、通常の条件での最も一般的なモニタリングのユースケース用です。シャードレベルのメトリクスは、通常トラブルシューティングに関連する特定のモニタリングタスクで、EnableEnhancedMonitoring オペレーションを使用して有効になります。
CloudWatch メトリクスから収集された統計の説明については、Amazon CloudWatch ユーザーガイドのCloudWatch 統計を参照してください。
トピック
基本ストリームレベルメトリクス
AWS/Kinesis
名前空間には、次のストリームレベルメトリクスが含まれます。
Kinesis Data Streams は、1 分ごとにこれらのストリームレベルのメトリクスを 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 ストリームあたりの最低 1 つのレコードが成功した ディメンション: StreamName 統計: Average、Sum、Samples 単位: カウント |
PutRecords.TotalRecords |
指定された期間に測定された、Kinesis Data Streams ごとに ディメンション: StreamName 統計: Minimum、Maximum、Average、Sum、Samples 単位: カウント |
PutRecords.SuccessfulRecords |
指定された期間に測定された、Kinesis Data Streams ごとの ディメンション: StreamName 統計: Minimum、Maximum、Average、Sum、Samples 単位: カウント |
PutRecords.FailedRecords |
指定された期間に測定された、Kinesis Data Streams ごとに ディメンション: StreamName 統計: Minimum、Maximum、Average、Sum、Samples 単位: カウント |
PutRecords.ThrottledRecords |
指定された期間に測定された、Kinesis Data Streams ごとに ディメンション: StreamName 統計: Minimum、Maximum、Average、Sum、Samples 単位: カウント |
ReadProvisionedThroughputExceeded |
指定された期間のストリームで調整された Minimum の統計の値が 1 の場合、指定された期間にストリームについてすべてのレコードが調整されました。 Maximum の統計の値が 0 (ゼロ) の場合、指定された期間にストリームについてどのレコードも調整されていません。 シャードレベルメトリクス名: ディメンション: StreamName 統計: Minimum、Maximum、Average、Sum、Samples 単位: カウント |
SubscribeToShard.RateExceeded |
このメトリックスは、同じコンシューマーによるアクティブなサブスクリプションがすでにあるため新しいサブスクリプションが失敗したとき、またはこのオペレーションで許可される 1 秒あたりの呼び出し回数を超えた場合に出力されます。 ディメンション: StreamName、ConsumerName |
SubscribeToShard.Success |
このメトリックスは、SubscribeToShard サブスクリプションが正常に確立されたかどうかを記録します。このサブスクリプションの有効期間は最大で 5 分のみです。したがって、このメトリックスは少なくとも 5 分に 1 回発行されます。 ディメンション: 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 は、1 分ごとに次のシャードレベルメトリクスを CloudWatch に送信します。メトリクスディメンションごとに 1 つのCloudWatch メトリクスが作成され、1 か月あたり約 43,200 回の PutMetricData
API コールが行われます。デフォルトでは、これらのメトリクスは有効ではありません。Kinesis から発生した拡張メトリクスには、料金がかかります。詳細については、Amazon CloudWatch カスタムメトリクスの見出しの下の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 メトリクス
Amazon Kinesis Data Streams メトリクスのいくつかは、Kinesis Data Streams のお客様に特に重要です。次のリストは推奨メトリクスとご利用方法を提供しています。
メトリクス | 使用に関する注意事項 |
---|---|
|
ストリームのすべてのシャードとコンシューマーの読み込み場所を追跡します。イテレータの経過日数が保持期間 (デフォルトで 24 時間、最大で 7 日まで設定可能) の 50% を経過すると、レコードの有効期限切れによるデータ損失のリスクがあります。この損失がリスクになる前に警告するように、Maximum 統計の CloudWatch アラームを使用することをお勧めします。このメトリクスを使用するシナリオ例は、コンシューマーレコードの処理が遅れるを参照してください。 |
|
コンシューマー側のレコード処理に後れが生じているときに、ボトルネックがどこにあるかを確認するのは難しい場合があります。このメトリクスを使用して、読み取りスループット制限を超えたために、読み取りが調整されているかを判断してください。このメトリクスで最も一般的に使用される統計は Average です。 |
WriteProvisionedThroughputExceeded |
これは、ReadProvisionedThroughputExceeded メトリクスと同じ目的ですが、ストリームのプロデューサー (PUT) 側用です。このメトリクスで最も一般的に使用される統計は Average です。 |
PutRecord.Success ,
PutRecords.Success |
レコードがストリームに後れていることを示す Average 統計のCloudWatch アラームを使用することをお勧めします。プロデューサーが使用しているものに応じて、一つまたは両方の種類の PUT 種類を選択します。Kinesis Producer Library (KPL) を使用する場合は、PutRecords.Success を使用します。 |
GetRecords.Success |
レコードがストリームの役に立っていないことを示す Average 統計の CloudWatch アラームを使用することをお勧めします。 |
Kinesis Data Streams の Amazon CloudWatch メトリクスにアクセスする
CloudWatch コンソール、コマンドライン、または CloudWatch API を使用して、Kinesis Data Streams のメトリクスをモニタリングできます。次の手順は、これらのさまざまなメソッドを使用してメトリクスにアクセスする方法を示しています。
CloudWatch コンソールを使用してメトリクスにアクセスするには
CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/
) を開きます。 -
ナビゲーションバーで、リージョンを選択します。
-
ナビゲーションペインで Metrics (メトリクス) を選択します。
-
[カテゴリ別の 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 オペレーションを使用します。