Amazon CloudWatch を使用した Amazon Kinesis Data Streams サービスのモニタリング - Amazon Kinesis Data Streams

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

Amazon CloudWatch を使用した Amazon Kinesis Data Streams サービスのモニタリング

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

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

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

Type 説明

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

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

拡張 (シャードレベル)

シャードレベルのデータは、1分ごとに送信されます。追加料金が発生します。このレベルのデータを取得するには、ストリームを明示的に有効にするには、EnableEnhancedMonitoringオペレーション.

料金については、『Amazon CloudWatch 製品ページ

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

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

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

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

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

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

メトリクス 説明
GetRecords.Bytes

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

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: バイト

GetRecords.IteratorAge

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

GetRecords.IteratorAgeMilliseconds

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

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average

単位: Milliseconds

GetRecords.Latency

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

ディメンション: StreamName

統計設定 Minimum、Maximum、

単位: Milliseconds

GetRecords.Records

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

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

GetRecords.Success

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

ディメンション: StreamName

統計設定 Average、Sum、サンプル

単位: カウント

IncomingBytes

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

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: バイト

IncomingRecords

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

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

PutRecord.Bytes

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: バイト

PutRecord.Latency

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

ディメンション: StreamName

統計設定 Minimum、Maximum、

単位: Milliseconds

PutRecord.Success

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

ディメンション: StreamName

統計設定 Average、Sum、サンプル

単位: カウント

PutRecords.Bytes

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: バイト

PutRecords.Latency

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

ディメンション: StreamName

統計設定 Minimum、Maximum、

単位: Milliseconds

PutRecords.Records

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

PutRecords.Success

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

ディメンション: StreamName

統計設定 Average、Sum、サンプル

単位: カウント

PutRecords.TotalRecords

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

PutRecords.SuccessfulRecords

成功した API レコードの数PutRecords指定された期間に測定された Kinesis Data Streamごとのオペレーションです。

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

PutRecords.FailedRecords

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

PutRecords.ThrottledRecords

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

ReadProvisionedThroughputExceeded

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

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

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

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

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

単位: バイト

SubscribeToShardEvent.MillisBehindLatest

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

ディメンション: StreamName、ConsumerName

統計設定 Minimum、Maximum、Average

単位: Milliseconds

SubscribeToShardEvent.Records

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

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

ディメンション: StreamName、ConsumerName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

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

ディメンション: StreamName、ConsumerName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

WriteProvisionedThroughputExceeded

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

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

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

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

ディメンション: StreamName

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

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

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

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

メトリクス 説明
IncomingBytes

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

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

ディメンション: StreamName、ShardId

統計設定 Minimum、Maximum、Average、Sum

単位: バイト

IncomingRecords

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

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

ディメンション: StreamName、ShardId

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

IteratorAgeMilliseconds

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

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

ディメンション: StreamName、ShardId

統計設定 Minimum、Maximum、Average

単位: Milliseconds

OutgoingBytes

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

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

ディメンション: StreamName、ShardId

統計設定 Minimum、Maximum、Average、Sum

単位: バイト

OutgoingRecords

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

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

ディメンション: StreamName、ShardId

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

ReadProvisionedThroughputExceeded

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

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

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

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

ディメンション: StreamName、ShardId

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

WriteProvisionedThroughputExceeded

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

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

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

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

ディメンション: StreamName、ShardId

統計設定 Minimum、Maximum、Average、Sum

単位: カウント

Amazon Kinesis Data Streams のディメンション

ディメンション

説明

StreamName

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

Amazon Kinesis Data Streams の推奨

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

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

GetRecords.IteratorAgeMilliseconds

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

ReadProvisionedThroughputExceeded

コンシューマー側のレコード処理に後れが生じているときに、ボトルネックがどこにあるかを確認するのは難しい場合があります。このメトリクスを使用して、読み取りスループット制限を超えたために、読み取りが調整されているかを判断してください。このメトリクスで最も一般的に使用される統計は Average です。

WriteProvisionedThroughputExceeded これは、ReadProvisionedThroughputExceeded メトリクスと同じ目的ですが、ストリームのプロデューサ (PUT) 側用です。このメトリクスで最も一般的に使用される統計は Average です。
PutRecord.Success, PutRecords.Success レコードがストリームの役に立っていないことを示す平均統計の CloudWatch アラームを使用することをお勧めします。プロデューサーが使用しているものに応じて、一つまたは両方の種類の PUT 種類を選択します。Kinesis 製作者ライブラリ (KPL) を使用する場合は、PutRecords.Success
GetRecords.Success レコードがストリームの役に立っていないことを示す平均統計の CloudWatch アラームを使用することをお勧めします。

Kinesis Data Streams の Amazon CloudWatch メトリックスへのアクセス

Kinesis Data Streams メトリクスは、CloudWatch コンソール、コマンドライン、または CloudWatch API を使用して、モニタリングできます。次の手順は、これらのさまざまなメソッドを使用してメトリクスにアクセスする方法を示しています。

CloudWatch コンソールを使用してメトリクスにアクセスするには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

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

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

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

  5. 該当する行をクリックし、指定した [MetricName] と [StreamName] の統計を表示します。

    注意: ほとんどのコンソール統計の名前は、上記の対応する CloudWatch メトリクス名に一致します。ただし、読み取りスループットおよび書き込みスループット。次の統計は 5 分間隔で計算されます。書き込みスループットのモニタリングIncomingBytesCloudWatch メトリックス読み取りスループット監視GetRecords.Bytes

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

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

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

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

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

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

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