

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

# Amazon CloudWatch による Amazon Kinesis Data Streams サービスを監視する
<a name="monitoring-with-cloudwatch"></a>

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

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

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


| 型 | 説明 | 
| --- | --- | 
|  ベーシック (ストリームレベル)  |  ストリーム レベルのデータは、1 分間ごとに自動的に送信されます。料金は発生しません。  | 
|  拡張 (シャードレベル)  |  シャードレベルのデータは、1 分ごとに送信されます。追加料金が発生します。このレベルのデータを取得するには、[EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html) オペレーションを使用してストリームを明示的に有効にする必要があります。 料金の詳細については、[Amazon CloudWatch の料金](https://aws.amazon.com/cloudwatch)ページを参照してください。  | 

## Amazon Kinesis Data Streams のディメンションとメトリクス
<a name="kinesis-metrics"></a>

Kinesis Data Streams は、ストリームレベルとオプションのシャードレベルの 2 つのレベルでメトリクスを CloudWatch に送信します。ストリームレベルのメトリクスは、通常の条件での最も一般的なモニタリングのユースケース用です。シャードレベルのメトリクスは、通常トラブルシューティングに関連する特定のモニタリングタスクで、[EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html) オペレーションを使用して有効になります。

CloudWatch メトリクスから収集された統計の説明については、*Amazon CloudWatch ユーザーガイド*の[CloudWatch 統計](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Statistic)を参照してください。

**Topics**
+ [基本ストリームレベルメトリクス](#kinesis-metrics-stream)
+ [拡張シャードレベルメトリクス](#kinesis-metrics-shard)
+ [Amazon Kinesis Data Streams メトリクスのディメンション](#kinesis-metricdimensions)
+ [推奨される Amazon Kinesis Data Streams メトリクス](#kinesis-metric-use)

### 基本ストリームレベルメトリクス
<a name="kinesis-metrics-stream"></a>

`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 |  ストリームの先頭からの読み取りレコードのミリ秒数は、コンシューマーが現在時刻からどれだけ遅れているかを示します。 ディメンション: 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 単位: カウント  | 

### 拡張シャードレベルメトリクス
<a name="kinesis-metrics-shard"></a>

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

Kinesis は、1 分ごとに次のシャードレベルメトリクスを CloudWatch に送信します。メトリクスディメンションごとに 1 つのCloudWatch メトリクスが作成され、1 か月あたり約 43,200 回の `PutMetricData` API コールが行われます。デフォルトでは、これらのメトリクスは有効ではありません。Kinesis から発生した拡張メトリクスには、料金がかかります。詳細については、*Amazon CloudWatch カスタムメトリクス*の見出しの下の[Amazon CloudWatch の料金](https://aws.amazon.com/cloudwatch/pricing/)を参照してください。料金は､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 メトリクスのディメンション
<a name="kinesis-metricdimensions"></a>


|  ディメンション  |  説明  | 
| --- | --- | 
|  StreamName  |  Kinesis ストリームの名前。使用可能なすべての統計が `StreamName` によってフィルタリングされます。  | 

### 推奨される Amazon Kinesis Data Streams メトリクス
<a name="kinesis-metric-use"></a>

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


| メトリクス | 使用に関する注意事項 | 
| --- | --- | 
|  `GetRecords.IteratorAgeMilliseconds`  |  ストリームのすべてのシャードとコンシューマーの読み込み場所を追跡します。イテレータの経過日数が保持期間 (デフォルトで 24 時間、最大で 7 日まで設定可能) の 50% を経過すると、レコードの有効期限切れによるデータ損失のリスクがあります。この損失がリスクになる前に警告するように、Maximum 統計の CloudWatch アラームを使用することをお勧めします。このメトリクスを使用するシナリオ例は、[コンシューマーレコードの処理が遅れる](troubleshooting-consumers.md#record-processing-falls-behind)を参照してください。  | 
|  `ReadProvisionedThroughputExceeded`  |  コンシューマー側のレコード処理に後れが生じているときに、ボトルネックがどこにあるかを確認するのは難しい場合があります。このメトリクスを使用して、読み取りスループット制限を超えたために、読み取りが調整されているかを判断してください。このメトリクスで最も一般的に使用される統計は Average です。  | 
| WriteProvisionedThroughputExceeded | これは、ReadProvisionedThroughputExceeded メトリクスと同じ目的ですが、ストリームのプロデューサー (PUT) 側用です。このメトリクスで最も一般的に使用される統計は Average です。 | 
| PutRecord.Success, PutRecords.Success | レコードがストリームに後れていることを示す Average 統計のCloudWatch アラームを使用することをお勧めします。プロデューサーが使用しているものに応じて、一つまたは両方の種類の PUT 種類を選択します。Amazon Kinesis Producer Library (KPL) を使用する場合は、PutRecords.Success を使用します。 | 
| GetRecords.Success | レコードがストリームの役に立っていないことを示す Average 統計の CloudWatch アラームを使用することをお勧めします。 | 

## Kinesis Data Streams の Amazon CloudWatch メトリクスにアクセスする
<a name="cloudwatch-metrics"></a>

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

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

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

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

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

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

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

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

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

**を使用してメトリクスにアクセスするには AWS CLI**  
[list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) および [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) コマンドを使用します。

**CloudWatch CLI を使用してメトリクスにアクセスするには**  
[mon-list-metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-list-metrics.html) コマンドと [mon-get-stats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-get-stats.html) コマンドを使用します。

**CloudWatch API を使用してメトリクスにアクセスするには**  
[ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html) オペレーションと [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html) オペレーションを使用します。