翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon による Kinesis プロデューサーライブラリのモニタリング CloudWatch
Amazon Kinesis Data Streams の Kinesis プロデューサーライブラリ (KPL) は、ユーザーに代わってカスタム Amazon CloudWatch メトリクスを発行します。 Amazon Kinesis これらのメトリクスを表示するには、CloudWatch コンソール
KPL CloudWatch によって にアップロードされたメトリクスには少額の料金が発生します。具体的には、Amazon CloudWatch Custom Metrics と Amazon CloudWatch API Requests の料金が適用されます。詳細については、「Amazon CloudWatch の料金
メトリクス、ディメンション、および名前空間
KPL の起動時にアプリケーション名を指定できます。これは、メトリクスをアップロードする際、名前空間の一部として使用されます。これはオプションであり、アプリケーション名を設定しない場合は、KPL によりデフォルト値が設定されます。
また、メトリクスに任意の追加ディメンションを追加するように KPL を設定できます。これは、 CloudWatch メトリクスにきめ細かなデータが必要な場合に便利です。たとえば、ディメンションとしてホスト名を追加でき、これによりフリート全体の均一でない負荷分散を特定できます。すべての KPL 構成設定は変更不可能なため、KPL インスタンスを初期化した後、これらの追加ディメンションを変更することはできません。
メトリクスレベルと詳細度
にアップロードされたメトリクスの数を制御するには、次の 2 つのオプションがあります CloudWatch。
- メトリクスレベル
-
これは、メトリクスの重要性を示すおおよその目安です。すべてのメトリクスにレベルが割り当てられます。レベルを設定すると、レベル 以下のメトリクスは に送信されません CloudWatch。このレベルとして、
NONE
、SUMMARY
、DETAILED
があります。デフォルト設定はDETAILED
であり、すべてのメトリクスが対象です。NONE
は、メトリクスが一切ないことを意味し、どのメトリクスもそのレベルに割り当てられません。 - 詳細度
-
これは、追加の詳細度レベルで同じメトリクスが出力されるかどうかを制御します。このレベルとして、
GLOBAL
、STREAM
、SHARD
があります。デフォルト設定はSHARD
で、最も詳細なメトリクスが含まれます。SHARD
が選択されると、ストリーム名とシャード ID をディメンションとしてメトリクスが出力されます。また、同じメトリクスは、ストリーム名のディメンションのみを使用して出力されるため、そのメトリクスにはストリーム名がありません。つまり、特定のメトリクスについて、それぞれ 2 つのシャードを持つ 2 つのストリームが 7 つの CloudWatch メトリクスを生成します。1 つはシャードごとに、1 つはストリームごとに、もう 1 つは全体に対して生成されます。すべて同じ統計を記述しますが、粒度は異なります。次の図は、これを説明するものです。異なる詳細度から階層が形成され、システム内のすべてのメトリクスから、メトリクス名をルートとするツリーが構成されます。
MetricName (GLOBAL): Metric X Metric Y | | ----------------- ------------ | | | | StreamName (STREAM): Stream A Stream B Stream A Stream B | | -------- --------- | | | | ShardID (SHARD): Shard 0 Shard 1 Shard 0 Shard 1
すべてのメトリクスをシャードレベルで使用できるわけではありません。一部のメトリクスはストリームレベルまたは本質的にグローバルです。これらは、シャードレベルのメトリクスを有効にしても、シャードレベルで生成されません (前の図の
Metric Y
)。追加のディメンションを指定すると、
tuple:<DimensionName, DimensionValue, Granularity>
に値を指定する必要があります。詳細度は、カスタムディメンションが階層のどこに挿入されたかを判断するのに使用されます。GLOBAL
は、追加のディメンションがメトリクス名の後に挿入されたことを意味し、STREAM
はストリーム名の後に、SHARD
は ID シャードの後に挿入されたことをそれぞれ意味します。複数の追加ディメンションが詳細度レベルごとに指定された場合、それらは指定された順序で挿入されます。
ローカルアクセスと Amazon CloudWatch アップロード
現在の KPL インスタンスのメトリクスはローカルでリアルタイムに使用できるため、いつでも KPL にクエリを実行してメトリクスを取得できます。KPL は、 のように、すべてのメトリクスの合計、平均、最小、最大、およびカウントをローカルで計算します CloudWatch。
プログラムの開始から現在の時点までの累積として、または過去 N 秒間 (N は 1 から 60 までの整数) のローリングウィンドウを使用して統計情報を取得できます。
すべてのメトリクスを にアップロードできます CloudWatch。これは、複数のホスト、モニタリング、およびアラームの間でデータを集約するのに特に役立ちます。この機能は、ローカルでは使用できません。
前に説明したように、メトリクスレベルと詳細度の設定を使用してどのメトリクスをアップロードするかを選択できます。ローカルでメトリクスをアップロードしたり使用したりすることはできません。
データポイントを個別にアップロードするのは、高トラフィックの場合、毎秒数百万のアップロードが発生するためお勧めしません。このため、KPL はメトリクスをローカルで 1 分のバケットに集約し、有効なメトリクスごとに統計オブジェクトを 1 分あたり CloudWatch 1 回にアップロードします。
メトリクスの一覧
メトリクス | 説明 |
---|---|
UserRecordsReceived |
入力オペレーションで KPL コアにより受信された論理ユーザーレコードの数。シャードレベルでは使用できません。 メトリクスレベル: Detailed 単位: 個 |
UserRecordsPending |
現在保留状態にあるユーザーレコード数の定期的なサンプリング。レコードが現在バッファ処理されていて送信待ちの場合、または、送信済みでバックエンドサービスで処理中の場合、そのレコードは保留状態です。シャードレベルでは使用できません。 KPL が提供する専用のメソッドを使用して、グローバルレベルでこのメトリクスを取得することで、お客様は PUT レートを管理できます。 メトリクスレベル: Detailed 単位: 個 |
UserRecordsPut |
入力に成功した論理ユーザーレコードの数。 このメトリクスの場合、KPL では、失敗したレコードがカウントされません。このため、平均が成功率に、個数が総試行回数に、個数と合計の差が失敗件数にそれぞれ対応します。 メトリクスレベル: Summary 単位: 個 |
UserRecordsDataPut |
入力に成功した論理ユーザーレコードのバイト数。 メトリクスレベル: Detailed 単位: バイト |
KinesisRecordsPut |
入力に成功した Kinesis Data Streams レコードの数 (各 Kinesis Data Streams レコードには複数のユーザーレコードを含めることができます)。 KPL は、失敗したレコードに対してゼロを出力します。このため、平均が成功率に、個数が総試行回数に、個数と合計の差が失敗件数にそれぞれ対応します。 メトリクスレベル: Summary 単位: 個 |
KinesisRecordsDataPut |
Kinesis Data Streams レコードのバイト数。 メトリクスレベル: Detailed 単位: バイト |
ErrorsByCode |
各種類のエラーコードの数。これにより、 Kinesis Data Streams API のエラーは、Kinesis Data Streams レコードごとに 1 回カウントされます。Kinesis Data Streams レコード内の複数のユーザーレコードで複数回のカウントが生じることはありません。 メトリクスレベル: Summary 単位: 個 |
AllErrors |
これは、コード別のエラーと同じエラーによってトリガーされますが、エラーの種類は区別されません。異なる種類のすべてのエラーから件数の合計を手計算する必要がなくなるため、これはエラー率の総合的なモニタリングに役立ちます。 メトリクスレベル: Summary 単位: 個 |
RetriesPerRecord |
ユーザーレコードあたりの再試行の実行回数。1 回の試行でレコードが成功した場合は、ゼロが出力されます。 ユーザーレコードが終了すると (成功した場合またはそれ以上再試行されない場合)、直ちにデータが出力されます。レコード time-to-live の値が大きい場合、このメトリクスは大幅に遅れる可能性があります。 メトリクスレベル: Detailed 単位: 個 |
BufferingTime |
ユーザーレコードが KPL に到着してからバックエンドに送信されるまでの時間。この情報は、レコード単位でユーザーに返されますが、集約された統計情報としても使用できます。 メトリクスレベル: Summary 単位: ミリ秒 |
Request Time |
メトリクスレベル: Detailed 単位: ミリ秒 |
User Records per Kinesis Record |
単一の Kinesis Data Streams レコードに集約された論理ユーザーレコードの数。 メトリクスレベル: Detailed 単位: 個 |
Amazon Kinesis Records per
PutRecordsRequest |
単一の メトリクスレベル: Detailed 単位: 個 |
User Records per
PutRecordsRequest |
メトリクスレベル: Detailed 単位: 個 |