Managed Service for Apache Flink のメトリクスとディメンション - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

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

Managed Service for Apache Flink のメトリクスとディメンション

Managed Service for Apache Flink がデータソースを処理すると、Managed Service for Apache Flink は次のメトリクスとディメンションを Amazon に報告します CloudWatch。

アプリケーションメトリクス

メトリクス 単位 説明 レベル 使用に関する注意事項
backPressuredTimeMsPerSecond* ミリ秒 このタスクまたはオペレーターが1秒あたりにバックプレッシャーを受ける時間(ミリ秒単位)。 タスク、オペレータ、並列度

*Flink バージョン 1.13 を実行しているManaged Service for Apache Flinkアプリケーションでのみ使用できます。

これらのメトリックはアプリケーションのボトルネックを特定することに役立ちます。

busyTimeMsPerSecond* ミリ秒 このタスクまたはオペレーターがビジー状態(アイドル状態でもバックプレッシャーでもない)の1秒あたりの時間(ミリ秒単位)。値を計算できなかった場合はNaNでもかまいません。 タスク、オペレータ、並列度

*Flink バージョン 1.13 を実行しているManaged Service for Apache Flinkアプリケーションでのみ使用できます。

これらのメトリックはアプリケーションのボトルネックを特定することに役立ちます。

cpuUtilization 割合 (%) タスクマネージャー全体のCPU使用率。たとえば、タスクマネージャーが5つある場合、Apache Flink Managed Service for Apache Flinkは、レポート間隔ごとにメトリックサンプルを5つ公開します。 アプリケーション このメトリクスを使用して、アプリケーションの最小、平均、最大CPU使用率をモニタリングできます。CPUUtilization メトリクスは、コンテナ内で実行されている TaskManager JVMプロセスCPUの使用のみを考慮します。
containerCPUUtilization 割合 (%) Flink アプリケーションクラスター内のタスクマネージャーコンテナ全体のCPU使用率。例えば、5 つのタスクマネージャーがあり、それに応じて 5 つの TaskManager コンテナがあり、Managed Service for Apache Flink は 1 分間のレポート間隔ごとにこのメトリクスの 2 x 5 つのサンプルを発行します。 アプリケーション

コンテナごとに次のように計算されます。

コンテナが消費した合計CPU時間 (秒単位) * 100 / コンテナCPU制限 (CPUs/秒)

CPUUtilization メトリクスは、コンテナ内で実行されている TaskManager JVMプロセスCPUの使用のみを考慮します。同じコンテナJVM内の の外部で実行されている他のコンポーネントがあります。containerCPUUtilization メトリクスは、コンテナでのCPU枯渇とそれによる障害に関するすべてのプロセスを含む、より完全な全体像を提供します。

containerMemoryUtilization 割合 (%) Flink アプリケーションクラスター内のタスクマネージャーコンテナー全体のメモリー使用率。例えば、5 つのタスクマネージャーがあり、それに応じて 5 つの TaskManager コンテナがあり、Managed Service for Apache Flink は、1 分間のレポート間隔ごとにこのメトリクスの 2 x 5 つのサンプルを発行します。 アプリケーション

コンテナごとに次のように計算されます。

コンテナのメモリ使用量 (バイト) * 100/ポッドデプロイメント仕様に基づくコンテナのメモリ上限 (バイト単位)

HeapMemoryUtilization および ManagedMemoryUtilzationsメトリクスは、 の TaskManager JVMヒープメモリ使用量や マネージドメモリ (RocksDB ステートバックエンド などのJVMネイティブプロセスの外部でのメモリ使用量) などの特定のメモリメトリクスのみを考慮します。このcontainerMemoryUtilizationメトリックには、ワーキングセットメモリを含めることで全体像を把握できるため、メモリの総消費量を追跡しやすくなります。使い果たすと、 TaskManager ポッドOut of Memory Errorに対して になります。

containerDiskUtilization 割合 (%) Flink アプリケーションクラスター内のタスクマネージャーコンテナー全体のディスク使用率。例えば、5 つのタスクマネージャーがあり、それに応じて 5 つの TaskManager コンテナがあり、Managed Service for Apache Flink は、1 分間のレポート間隔ごとにこのメトリクスの 2 x 5 つのサンプルを発行します。 アプリケーション

コンテナごとに次のように計算されます。

ディスク使用量 (バイト) * 100/コンテナのディスク上限 (バイト)

コンテナの場合、コンテナのルートボリュームが設定されているファイルシステムの使用率を表します。

currentInputWatermark ミリ秒 このアプリケーション、オペレータ、タスク、スレッドが受け取った最後のウォーターマーク アプリケーション、オペレータ、タスク、並列処理 このレコードは、入力が 2 つあるディメンションでのみ出力されます。これは最後に受信したウォーターマークの最小値です。
currentOutputWatermark ミリ秒 このアプリケーション、オペレータ、タスク、スレッドが最後に出力したウォーターマーク アプリケーション、オペレータ、タスク、並列処理
downtime ミリ秒 現在障害または回復中のジョブの場合は、その停止中に経過した時間です。 アプリケーション この指標は、ジョブが失敗または回復している間に経過した時間を測定します。このメトリックは、実行中のジョブの場合は 0 を返し、完了したジョブの場合は-1を返します。このメトリクスが0または-1でない場合は、アプリケーションの Apache Flink ジョブが実行に失敗したことを示します。
fullRestarts カウント このジョブが送信されてから完全に再開された回数の合計です。この指標では、詳細な再起動は測定されません。 アプリケーション このメトリクスを使用して、アプリケーションの全般的な状態を評価できます。再起動は、Managed Service for Apache Flink の内部メンテナンス中に発生する可能性があります。通常よりも高い速度で再起動される場合は、アプリケーションに問題があることを示している可能性があります。
heapMemoryUtilization 割合 (%) タスクマネージャー全体のヒープメモリ使用率。たとえば、タスクマネージャーが5つある場合、Apache Flink Managed Service for Apache Flinkは、レポート間隔ごとにメトリックサンプルを5つ公開します。 アプリケーション このメトリクスを使用して、アプリケーションのヒープメモリ使用率の最小値、平均値、最大値を監視できます。は、 のヒープメモリ使用量などの特定のメモリメトリクスHeapMemoryUtilizationのみを考慮します TaskManager JVM。
idleTimeMsPerSecond* ミリ秒 このタスクまたはオペレータが 1 秒あたりにアイドル状態 (処理するデータがない) の時間 (ミリ秒単位)。アイドル時間にはバック プレッシャーの時間は含まれないため、タスクにバック プレッシャーがかかっている場合、そのタスクはアイドルではありません。 タスク、オペレータ、並列度

*Flink バージョン 1.13 を実行しているManaged Service for Apache Flinkアプリケーションでのみ使用できます。

これらのメトリックはアプリケーションのボトルネックを特定することに役立ちます。

lastCheckpointSize バイト 最後のチェックポイントの合計サイズ アプリケーション このメトリックを使用して、実行中のアプリケーションストレージの使用率を判断できます。

このメトリックの値が増加している場合は、メモリリークやボトルネックなど、アプリケーションに問題がある可能性があります。

lastCheckpointDuration ミリ秒 最後のチェックポイントを完了するまでにかかった時間 アプリケーション このメトリックは、最新のチェックポイントを完了するまでにかかった時間を測定します。このメトリックの値が増加している場合は、メモリリークやボトルネックなど、アプリケーションに問題がある可能性があります。場合によっては、チェックポイントを無効にすることでこの問題を解決できます。
managedMemoryUsed* バイト 現在使用中のメモリの量。 アプリケーション、オペレータ、タスク、並列処理

*Flink バージョン 1.13 を実行しているManaged Service for Apache Flinkアプリケーションでのみ使用できます。

これは Flink が Java ヒープ外で管理するメモリに関するものです。RocksDB のステートバックエンドに使用され、アプリケーションでも利用できます。

managedMemoryTotal* バイト メモリの合計量。 アプリケーション、オペレータ、タスク、並列処理

*Flink バージョン 1.13 を実行しているManaged Service for Apache Flinkアプリケーションでのみ使用できます。

これは Flink が Java ヒープ外で管理するメモリに関するものです。RocksDB のステートバックエンドに使用され、アプリケーションでも利用できます。ManagedMemoryUtilzations メトリクスは、 Managed Memory などの特定のメモリメトリクス (RocksDB ステートバックエンド などのネイティブプロセスの外部JVMでのメモリ使用量) のみを考慮します。 RocksDB

managedMemoryUtilization* 割合 (%) managedMemoryUsed/ によって導出managedMemoryTotal アプリケーション、オペレータ、タスク、並列処理

*Flink バージョン 1.13 を実行しているManaged Service for Apache Flinkアプリケーションでのみ使用できます。

これは Flink が Java ヒープ外で管理するメモリに関するものです。RocksDB のステートバックエンドに使用され、アプリケーションでも利用できます。

numberOfFailedCheckpoints カウント チェックポイントが失敗した回数。 アプリケーション このメトリックを使用して、アプリケーションの状態と進行状況を監視できます。スループットや権限の問題など、アプリケーションの問題が原因でチェックポイントが失敗することがあります。
numRecordsIn* カウント このアプリケーション、オペレータ、またはタスクが受信したレコードの総数。 アプリケーション、オペレータ、タスク、並列処理

*一定期間 (秒/分) SUM に統計を適用するには:

  • 正しいレベルのメトリクスを選択してください。オペレーターのメトリクスを追跡している場合は、対応するオペレーターメトリクスを選択する必要があります。

  • Managed Service for Apache Flink は 1 分あたり 4 つのメトリクススナップショットを取るため、m1/4 のメトリクス計算を使用する必要があります。m1 は一定期間 (秒/分) SUM における統計です。

メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが受信したレコードの総数を測定するかどうかを指定します。

numRecordsInPerSecond* Count/Second このアプリケーション、オペレータ、またはタスクが 1 秒あたりに受信したレコードの総数です。 アプリケーション、オペレータ、タスク、並列処理

*一定期間 (秒/分) SUM に統計を適用するには:

  • 正しいレベルのメトリクスを選択してください。オペレーターのメトリクスを追跡している場合は、対応するオペレーターメトリクスを選択する必要があります。

  • Managed Service for Apache Flink は 1 分あたり 4 つのメトリクススナップショットを取るため、m1/4 のメトリクス計算を使用する必要があります。m1 は一定期間 (秒/分) SUM における統計です。

メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが 1 秒あたりに受信したレコードの総数を測定するかどうかを指定します。

numRecordsOut* カウント このアプリケーション、オペレータ、またはタスクが送信したレコードの総数。 アプリケーション、オペレータ、タスク、並列処理

*一定期間 (秒/分) SUM に統計を適用するには:

  • 正しいレベルのメトリクスを選択してください。オペレーターのメトリクスを追跡している場合は、対応するオペレーターメトリクスを選択する必要があります。

  • Managed Service for Apache Flink は 1 分あたり 4 つのメトリクススナップショットを取るため、m1/4 のメトリクス計算を使用する必要があります。m1 は一定期間 (秒/分) SUM における統計です。

メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが発行したレコードの総数を測定するかどうかを指定します。

numLateRecordsDropped* カウント アプリケーション、オペレータ、タスク、並列処理

*一定期間 (秒/分) SUM に統計を適用するには:

  • 正しいレベルのメトリクスを選択してください。オペレーターのメトリクスを追跡している場合は、対応するオペレーターメトリクスを選択する必要があります。

  • Managed Service for Apache Flink は 1 分あたり 4 つのメトリクススナップショットを取るため、m1/4 のメトリクス計算を使用する必要があります。m1 は一定期間 (秒/分) SUM における統計です。

このオペレータまたはタスクが遅れたために減少したレコードの数。

numRecordsOutPerSecond* Count/Second このアプリケーション、オペレータ、またはタスクが 1 秒あたりに送信したレコードの総数。 アプリケーション、オペレータ、タスク、並列処理

*一定期間 (秒/分) SUM に統計を適用するには:

  • 正しいレベルのメトリクスを選択してください。オペレーターのメトリクスを追跡している場合は、対応するオペレーターメトリクスを選択する必要があります。

  • Managed Service for Apache Flink は 1 分あたり 4 つのメトリクススナップショットを取るため、m1/4 のメトリクス計算を使用する必要があります。m1 は一定期間 (秒/分) SUM における統計です。

メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが 1 秒あたりに送信したレコードの総数を測定するかどうかを指定します。

oldGenerationGCCount カウント すべてのタスクマネージャーで発生した古いガベージコレクション操作の総数。 アプリケーション
oldGenerationGCTime ミリ秒 古いガベージコレクション操作の実行にかかった合計時間。 アプリケーション このメトリックを使用して、ガベージコレクションの合計時間、平均時間、最大時間を監視できます。
threadCount カウント アプリケーションが使用したライブスレッドの総数。 アプリケーション このメトリックは、アプリケーションコードが使用するスレッド数を測定します。これはアプリケーションの並列処理とは異なります。
uptime ミリ秒 ジョブが中断されずに実行された時間。 アプリケーション この指標を使用して、ジョブが正常に実行されているかどうかを判断できます。このメトリックは、完了したジョブに対して -1 を返します。
KPUs* カウント アプリケーションがKPUs使用する の合計数。 アプリケーション

*このメトリクスは、請求期間 (1 時間) ごとに 1 つのサンプルを受け取ります。時間のKPUs経過に伴う の数を視覚化するには、 MAXまたは を少なくとも 1 (1) 時間AVGにわたって使用します。

KPU カウントには orchestration が含まれますKPU。詳細については、「Managed Service for Apache Flink の料金」を参照してください。

Kinesis Data Streams コネクタメトリクス

AWS は、以下に加えて、Kinesis Data Streams のすべてのレコードを発行します。

メトリクス 単位 説明 レベル 使用に関する注意事項
millisbehindLatest ミリ秒 コンシューマーがストリームの先頭から遅れているミリ秒数は、コンシューマーが現在時刻からどれだけ遅れているかを示します。 アプリケーション (ストリームの場合)、並列処理 ( の場合 ShardId)
  • 値ゼロはレコード処理が追いついて、現在処理する新しいレコードは存在しないことを示します。特定のシャードのメトリックは、ストリーム名とシャード ID で指定できます。

  • 値が -1 の場合は、サービスがメトリックの値をまだ報告していないことを示します。

bytesRequestedPerFetch バイト getRecordsへの1回の呼び出しで要求されたバイト数。 アプリケーション (ストリームの場合)、並列処理 ( の場合 ShardId)

Amazon MSK コネクタメトリクス

AWS は、以下MSKに加えて、Amazon のすべてのレコードを発行します。

メトリクス 単位 説明 レベル 使用に関する注意事項
currentoffsets 該当なし 各パーティションのコンシューマーの現在の読み取りオフセット。特定のパーティションのメトリックは、トピック名とパーティション ID で指定できます。 アプリケーション (トピック用)、並列処理 ( 用 PartitionId)
commitsFailed 該当なし オフセットのコミットとチェックポイントが有効になっている場合、Kafka へのオフセット コミットの失敗の合計数 アプリケーション、オペレータ、タスク、並列処理 オフセットを Kafka にコミットすることは、コンシューマの進行状況を公開するための手段にすぎないため、コミットの失敗は Flink のチェックポイントが設定されたパーティション オフセットの完全性に影響しません。
commitsSucceeded 該当なし オフセットのコミットとチェックポイント設定が有効な場合、Kafka へのオフセット コミットが成功した合計数。 アプリケーション、オペレータ、タスク、並列処理
committedoffsets 該当なし 最後に正常にコミットされたオフセットは、パーティションごとに Kafka に送信されます。特定のパーティションのメトリックは、トピック名とパーティション ID で指定できます。 アプリケーション (トピック用)、並列処理 ( 用 PartitionId)
records_lag_max カウント このウィンドウ内の任意のパーティションのレコード数に関する最大ラグ アプリケーション、オペレータ、タスク、並列処理
bytes_consumed_rate バイト トピック用に消費された1秒あたりの平均バイト数 アプリケーション、オペレータ、タスク、並列処理

Apache Zeppelin メトリクス

Studio ノートブックの場合、 はアプリケーションレベルで次のメトリクスを AWS 出力します: KPUscpuUtilizationheapMemoryUtilization、、oldGenerationGCTimeoldGenerationGCCount、および threadCount。さらに、アプリケーションレベルで次の表に示すようなメトリクスを出力します。

メトリクス 単位 説明 Prometheus 名
zeppelinCpuUtilization 割合 (%) Apache Zeppelin サーバーの全体的なCPU使用率。 process_cpu_usage
zeppelinHeapMemoryUtilization 割合 (%) Apache Zeppelin サーバーのヒープメモリ使用率の全体的パーセンテージ。 jvm_memory_used_bytes
zeppelinThreadCount カウント Apache Zeppelin サーバーが使用しているライブスレッドの総数。 jvm_threads_live_threads
zeppelinWaitingJobs カウント キューに入っていて 1 つのスレッドを待っている Apache Zeppelin ジョブの数。 jetty_threads_jobs
zeppelinServerUptime [秒] サーバーが稼働していた合計時間。 process_uptime_seconds