Amazon による Amazon Kinesis Data Streams Service のモニタリング CloudWatch - Amazon Kinesis Data Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon による Amazon Kinesis Data Streams Service のモニタリング CloudWatch

Amazon Kinesis Data Streams と Amazon CloudWatch は統合されているため、Kinesis データストリームのメトリクスを収集、表示、分析 CloudWatchできます。たとえば、シャードの使用状況の追跡に、IncomingBytes メトリクス OutgoingBytes とメトリクスをモニタリングし、ストリーム内のシャードカウントと比較できます。

ストリーム用に設定したメトリクスは自動的に収集され、1 分 CloudWatch ごとに にプッシュされます。2 週間分のメトリクスがアーカイブされ、その期間が経過したデータは破棄されます。

次の表は、Kinesis data streams の基本的なストリームレベルと拡張シャードレベルのモニタリングについて説明しています。

説明

ベーシック (ストリームレベル)

ストリーム レベルのデータは、1 分間ごとに自動的に送信されます。料金は発生しません。

拡張 (シャードレベル)

シャードレベルのデータは、1分ごとに送信されます。追加料金が発生します。このレベルのデータを取得するには、 EnableEnhancedMonitoringオペレーションを使用してストリームに対してそのデータを有効にする必要があります。

料金の詳細については、「Amazon CloudWatch 製品ページ」を参照してください。

Amazon Kinesis Data Streams のディメンションとメトリクス

Kinesis Data Streams は、ストリームレベルと、オプション CloudWatch でシャードレベルの 2 つのレベルで にメトリクスを送信します。ストリームレベルのメトリクスは、通常の条件での最も一般的なモニタリングのユースケース用です。シャードレベルのメトリクスは、通常はトラブルシューティングに関連する特定のモニタリングタスク用であり、 EnableEnhancedMonitoringオペレーションを使用して有効になります。

CloudWatch メトリクスから収集された統計の説明については、「Amazon ユーザーガイド」のCloudWatch 「統計」を参照してください。 CloudWatch

基本ストリームレベルメトリクス

AWS/Kinesis 名前空間には、次のストリームレベルメトリクスが含まれます。

Kinesis Data Streams は、これらのストリームレベルのメトリクスを 1 分 CloudWatch ごとに に送信します。これらのメトリクスは常に利用することができます。

メトリクス 説明
GetRecords.Bytes

指定された期間に測定された、Kinesis ストリームから取得したバイト数。Minimum、Maximum、および Average の統計は、指定した期間内のストリームの単一 GetRecords オペレーションでのバイト数です。

シャードレベルメトリクス名: OutgoingBytes

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: バイト

GetRecords.IteratorAge

このメトリクスは廃止されました。GetRecords.IteratorAgeMilliseconds を使用します。

GetRecords.IteratorAgeMilliseconds

Kinesis ストリームに対して行われたすべての GetRecords 呼び出しの最後のレコードの期間 (指定された時間に測定)。期間は、現在の時刻と、GetRecords 呼び出しの最後のレコードがストリームに書き込まれた時刻の差です。Minimum および Maximum 統計は、Kinesis コンシューマーアプリケーションのプロセスを追跡するのに使用できます。値がゼロの場合は、読み取り中のレコードがストリームに完全に追いついていることを示します。

シャードレベルメトリクス名: IteratorAgeMilliseconds

ディメンション: StreamName

統計: Minimum、Maximum、Average、Samples

単位: ミリ秒

GetRecords.Latency

指定された期間に測定された GetRecords オペレーションごとにかかった時間。

ディメンション: StreamName

統計: Minimum、Maximum、Average

単位: ミリ秒

GetRecords.Records

指定された期間に測定された、シャードから取得したレコード数。Minimum、Maximum、および Average の統計は、指定した期間内のストリームの単一 GetRecords オペレーションでのレコード数です。

シャードレベルメトリクス名: OutgoingRecords

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

GetRecords.Success

指定された期間に測定された、ストリームごとの成功した GetRecords オペレーションの数。

ディメンション: StreamName

統計: Average、Sum、Samples

単位: カウント

IncomingBytes

指定された期間に、Kinesis ストリームに正常に送信されたバイト数。このメトリクスには、PutRecord および PutRecords オペレーションのバイト数も含まれます。Minimum、Maximum、および Average の統計は、指定した期間内のストリームの単一 put オペレーションでのバイト数です。

シャードレベルメトリクス名: IncomingBytes

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: バイト

IncomingRecords

指定された期間に、Kinesis ストリームに正常に送信されたレコードの数。このメトリクスには、PutRecord および PutRecords オペレーションのレコード数も含まれます。Minimum、Maximum、および Average の統計は、指定した期間内のストリームの単一 put オペレーションでのレコード数です。

シャードレベルメトリクス名: IncomingRecords

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

PutRecord.Bytes

指定された期間に PutRecord オペレーションを使用して Kinesis ストリームに送信されたバイト数。

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: バイト

PutRecord.Latency

指定された期間に測定された PutRecord オペレーションごとにかかった時間。

ディメンション: StreamName

統計: Minimum、Maximum、Average

単位: ミリ秒

PutRecord.Success

指定された期間に測定された、Kinesis ストリームごとの成功した PutRecord オペレーションの数。Average はストリームへの書き込み成功率を反映しています。

ディメンション: StreamName

統計: Average、Sum、Samples

単位: カウント

PutRecords.Bytes

指定された期間に PutRecords オペレーションを使用して Kinesis ストリームに送信されたバイト数。

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: バイト

PutRecords.Latency

指定された期間に測定された PutRecords オペレーションごとにかかった時間。

ディメンション: StreamName

統計: Minimum、Maximum、Average

単位: ミリ秒

PutRecords.Records

このメトリクスは廃止されました。PutRecords.SuccessfulRecords を使用します。

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

PutRecords.Success

指定された期間に測定された、Kinesis ストリームあたりの最低 1 つのレコードが成功した PutRecords オペレーションの数。

ディメンション: StreamName

統計: Average、Sum、Samples

単位: カウント

PutRecords.TotalRecords

指定された期間に測定された、Kinesis Data Streams ごとに PutRecords オペレーションで送信されたレコードの総数。

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

PutRecords.SuccessfulRecords

指定された期間に測定された、Kinesis Data Streams ごとの PutRecords オペレーションの正常なレコード数。

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

PutRecords.FailedRecords

指定された期間に測定された、Kinesis Data Streams ごとに PutRecords オペレーションで内部障害のために拒否されたレコードの数。時折内部障害が予想されるため、再試行する必要があります。

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

PutRecords.ThrottledRecords

指定された期間に測定された、Kinesis Data Streams ごとに PutRecords オペレーションでスロットリングのために拒否されたレコードの数。

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

ReadProvisionedThroughputExceeded

指定された期間のストリームで調整された GetRecords 呼び出し回数。このメトリクスで最も一般的に使用される統計は Average です。

Minimum の統計の値が 1 の場合、指定された期間にストリームについてすべてのレコードが調整されました。

Maximum の統計の値が 0 (ゼロ) の場合、指定された期間にストリームについてどのレコードも調整されていません。

シャードレベルメトリクス名: ReadProvisionedThroughputExceeded

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

SubscribeToShard.RateExceeded

このメトリックスは、同じコンシューマーによるアクティブなサブスクリプションがすでにあるため新しいサブスクリプションが失敗したとき、またはこのオペレーションで許可される 1 秒あたりの呼び出し回数を超えた場合に出力されます。

ディメンション: StreamName、 ConsumerName
SubscribeToShard.Success

このメトリクスは、 SubscribeToShardサブスクリプションが正常に確立されたかどうかを記録します。このサブスクリプションの有効期間は最大で 5 分のみです。したがって、このメトリックスは少なくとも 5 分に 1 回発行されます。

ディメンション: StreamName, ConsumerName

SubscribeToShardEvent.Bytes

指定された期間に測定された、シャードから受信したバイト数。Minimum、Maximum、および Average の統計は、指定した期間内の単一イベントで発行されたバイト数です。

シャードレベルメトリクス名: OutgoingBytes

ディメンション: StreamName, ConsumerName

統計: Minimum、Maximum、Average、Sum、Samples

単位: バイト

SubscribeToShardEvent.MillisBehindLatest

現在の時刻と、 SubscribeToShard イベントの最後のレコードがストリームに書き込まれた日時の差。

ディメンション: StreamName, ConsumerName

統計: Minimum、Maximum、Average、Samples

単位: ミリ秒

SubscribeToShardEvent.Records

指定された期間に測定された、シャードから受信したレコード数。Minimum、Maximum、および Average の統計は、指定した期間内の単一イベント内のレコードです。

シャードレベルメトリクス名: OutgoingRecords

ディメンション: StreamName, ConsumerName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

SubscribeToShardEvent.Success このメトリックスは、イベントが正常に発行されるたびに出力されます。これは、アクティブなサブスクリプションがある場合にのみ出力されます。

ディメンション: StreamName, ConsumerName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

WriteProvisionedThroughputExceeded

指定された期間にストリームのスロットリングにより拒否されたレコードの数。このメトリクスには、PutRecord および PutRecords オペレーションのスロットリングも含まれます。このメトリクスで最も一般的に使用される統計は Average です。

Minimum の統計がゼロ以外の値の場合、指定された期間にストリームについてレコードが調整中でした。

Maximum の統計の値が 0 (ゼロ) の場合、指定された期間のストリームで、どのレコードも調整中ではありませんでした。

シャードレベルメトリクス名: WriteProvisionedThroughputExceeded

ディメンション: StreamName

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

拡張シャードレベルメトリクス

AWS/Kinesis 名前空間には、次のシャードレベルメトリクスが含まれます。

Kinesis は、次のシャードレベルのメトリクスを 1 分 CloudWatch ごとに に送信します。各メトリクスディメンションは 1 CloudWatch メトリクスを作成し、1 か月あたり約 43,200 件の PutMetricData API コールを実行します。デフォルトでは、これらのメトリクスは有効ではありません。Kinesis から発生した拡張メトリクスには、料金がかかります。詳細については、「Amazon Custom Metrics」の見出しの「Amazon の CloudWatch 料金」を参照してください。 CloudWatch 料金は、1 ヶ月あたりのシャードごとに表示されます。

メトリクス 説明
IncomingBytes

指定された期間に、シャードに正常に送信されたバイト数。このメトリクスには、PutRecord および PutRecords オペレーションのバイト数も含まれます。Minimum、Maximum、および Average の統計は、指定した期間内のシャードの単一 put オペレーションでのバイト数です。

ストリームレベルメトリクス名: IncomingBytes

ディメンション: StreamName, ShardId

統計: Minimum、Maximum、Average、Sum、Samples

単位: バイト

IncomingRecords

指定された期間に、シャードに正常に送信されたレコードの数。このメトリクスには、PutRecord および PutRecords オペレーションのレコード数も含まれます。Minimum、Maximum、および Average の統計は、指定した期間内のシャードの単一 put オペレーションでのレコード数です。

ストリームレベルメトリクス名: IncomingRecords

ディメンション: StreamName, ShardId

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

IteratorAgeMilliseconds

シャードに対して行われたすべての GetRecords 呼び出しの最後のレコードの期間 (指定された時間に測定)。期間は、現在の時刻と、GetRecords 呼び出しの最後のレコードがストリームに書き込まれた時刻の差です。Minimum および Maximum 統計は、Kinesis コンシューマーアプリケーションのプロセスを追跡するのに使用できます。値が 0 (ゼロ) の場合は、読み取り中のレコードがストリームに完全に追いついていることを示します。

ストリームレベルメトリクス名: GetRecords.IteratorAgeMilliseconds

ディメンション: StreamName, ShardId

統計: Minimum、Maximum、Average、Samples

単位: ミリ秒

OutgoingBytes

指定された期間に測定された、シャードから取得したバイト数。Minimum、Maximum、および Average の統計は、指定した期間内のシャードの単一 GetRecords オペレーションで返されたバイト数または単一の SubscribeToShard イベントで発行されたバイト数です。

ストリームレベルメトリクス名: GetRecords.Bytes

ディメンション: StreamName, ShardId

統計: Minimum、Maximum、Average、Sum、Samples

単位: バイト

OutgoingRecords

指定された期間に測定された、シャードから取得したレコード数。Minimum、Maximum、および Average の統計は、指定した期間内のシャードの単一 GetRecords オペレーションで返されたレコードまたは単一の SubscribeToShard イベントで発行されたレコードです。

ストリームレベルメトリクス名: GetRecords.Records

ディメンション: StreamName, ShardId

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

ReadProvisionedThroughputExceeded

指定された期間のシャードで調整された GetRecords 呼び出し回数。この例外カウントは、1 秒あたり 1 つのシャードあたり 5 回の読み込みまたは 1 つのシャードあたり 1 秒あたり 2 MB の制限のすべてのディメンションを含みます。このメトリクスで最も一般的に使用される統計は Average です。

Minimum の統計の値が 1 の場合、指定された期間にシャードについてすべてのレコードが調整されました。

Maximum の統計の値が 0 (ゼロ) の場合、指定された期間にシャードについてどのレコードも調整されていません。

ストリームレベルメトリクス名: ReadProvisionedThroughputExceeded

ディメンション: StreamName, ShardId

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

WriteProvisionedThroughputExceeded

指定された期間にシャードのスロットリングにより拒否されたレコードの数。このメトリクスには、PutRecord および PutRecords オペレーションのスロットリングが含まれ、さらに、1 つのシャードあたり 1 秒あたり 1,000 レコードまたは 1 つのシャードあたり 1 秒あたり 1 MB の制限のすべてのディメンションが含まれます。このメトリクスで最も一般的に使用される統計は Average です。

Minimum の統計がゼロ以外の値の場合、指定された期間にシャードについてレコードが調整中でした。

Maximum の統計の値が 0 (ゼロ) の場合、指定された期間のシャードで、どのレコードも調整中ではありませんでした。

ストリームレベルメトリクス名: WriteProvisionedThroughputExceeded

ディメンション: StreamName, ShardId

統計: Minimum、Maximum、Average、Sum、Samples

単位: カウント

Amazon Kinesis Data Streams メトリクスのディメンション

ディメンション

説明

StreamName

Kinesis ストリームの名前。使用可能なすべての統計が StreamName によってフィルタリングされます。

推奨される Amazon Kinesis Data Streams メトリクス

Amazon Kinesis Data Streams メトリクスのいくつかは、Kinesis Data Streams のお客様に特に重要です。次のリストは推奨メトリクスとご利用方法を提供しています。

メトリクス 使用に関する注意事項

GetRecords.IteratorAgeMilliseconds

ストリームのすべてのシャードとコンシューマーの読み込み場所を追跡します。イテレータの経過日数が保持期間 (デフォルトで 24 時間、最大で 7 日まで設定可能) の 50% を経過すると、レコードの有効期限切れによるデータ損失のリスクがあります。この損失がリスクになる前に、Maximum 統計の CloudWatch アラームを使用して警告することをお勧めします。このメトリクスを使用するシナリオ例は、コンシューマーレコードの処理が遅れるを参照してください。

ReadProvisionedThroughputExceeded

コンシューマー側のレコード処理に後れが生じているときに、ボトルネックがどこにあるかを確認するのは難しい場合があります。このメトリクスを使用して、読み取りスループット制限を超えたために、読み取りが調整されているかを判断してください。このメトリクスで最も一般的に使用される統計は 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 コンソールを使用してメトリクスにアクセスするには
  1. https://console.aws.amazon.com/cloudwatch/ で CloudWatch コンソールを開きます。

  2. ナビゲーションバーで、リージョンを選択します。

  3. ナビゲーションペインで メトリクスを選択します。

  4. CloudWatch カテゴリ別のメトリクスペインで、Kinesis Metrics を選択します。

  5. 関連する行をクリックして、指定された MetricNameおよび の統計を表示しますStreamName

    注: ほとんどのコンソール統計名は、読み取りスループット と書き込みスループット を除き、上記の対応する CloudWatch メトリクス名と一致します。 これらの統計は 5 分間隔で計算されます。書き込みスループットはメトリクスをモニタリングしIncomingBytes CloudWatch、読み取りスループットは をモニタリングしますGetRecords.Bytes

  6. (オプション) グラフペインで統計と期間を選択し、これらの設定を使用して CloudWatch アラームを作成します。

を使用してメトリクスにアクセスするには AWS CLI

list-metricsget-metric-statistics コマンドを使用します。

CloudWatch CLI を使用してメトリクスにアクセスするには

mon-list-metrics および mon-get-stats コマンドを使用します。

CloudWatch API を使用してメトリクスにアクセスするには

ListMetrics および GetMetricStatisticsオペレーションを使用します。