Amazon Managed Service for Apache Flink (Amazon MSF) は、以前は 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 つある場合、それに応じて TaskManager コンテナが 5 つあり、Apache Flink 用マネージドサービスは 1 分のレポート間隔ごとに、このメトリックのサンプルを 2 5 個公開します。たとえば、タスクマネージャが5つある場合、それに対応してTaskManagerコンテナも5つあり、Managed Service for Apache Flinkは、1分間のレポート間隔ごとにこのメトリックのサンプルを2*5発行します。 | アプリケーション | コンテナごとに次のように計算されます。 コンテナが消費した合計 CPU 時間 (秒単位) * 100/コンテナの CPU 上限 (CPU/秒) この |
containerMemoryUtilization |
割合 (%) | Flink アプリケーションクラスター内のタスクマネージャーコンテナー全体のメモリー使用率。たとえば、タスクマネージャーが 5 つある場合、それに応じて TaskManager コンテナが 5 つあり、Apache Flink 用マネージドサービスは 1 分のレポート間隔ごとに、このメトリックのサンプルを 2 5 個公開します。たとえば、タスクマネージャが5つある場合、それに対応してTaskManagerコンテナも5つあり、Managed Service for Apache Flinkは、1分間のレポート間隔ごとにこのメトリックのサンプルを2*5発行します。 | アプリケーション | コンテナごとに次のように計算されます。 コンテナのメモリ使用量 (バイト) * 100/ポッドデプロイメント仕様に基づくコンテナのメモリ上限 (バイト単位)
|
containerDiskUtilization |
割合 (%) | Flink アプリケーションクラスター内のタスクマネージャーコンテナー全体のディスク使用率。たとえば、タスクマネージャーが 5 つある場合、それに応じて TaskManager コンテナが 5 つあり、Apache Flink 用マネージドサービスは 1 分のレポート間隔ごとに、このメトリックのサンプルを 2 5 個公開します。たとえば、タスクマネージャが5つある場合、それに対応してTaskManagerコンテナも5つあり、Managed Service for Apache Flinkは、1分間のレポート間隔ごとにこのメトリックのサンプルを2*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はTaskManagerJVMのヒープメモリ使用量などの特定のメモリメトリックのみを考慮します。 |
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 のステートバックエンドに使用され、アプリケーションでも利用できます。この |
managedMemoryUtilization* |
割合 (%) | 管理対象メモリー使用量/管理メモリー合計によって導出されます。 | アプリケーション、オペレータ、タスク、並列処理 | *Flink バージョン 1.13 を実行しているManaged Service for Apache Flinkアプリケーションでのみ使用できます。 これは Flink が Java ヒープ外で管理するメモリに関するものです。RocksDB のステートバックエンドに使用され、アプリケーションでも利用できます。 |
numberOfFailedCheckpoints |
カウント | チェックポイントが失敗した回数。 | アプリケーション | このメトリックを使用して、アプリケーションの状態と進行状況を監視できます。スループットや権限の問題など、アプリケーションの問題が原因でチェックポイントが失敗することがあります。 |
numRecordsIn* |
カウント | このアプリケーション、オペレータ、またはタスクが受信したレコードの総数。 | アプリケーション、オペレータ、タスク、並列処理 | *一定期間 (秒/分) にわたって SUM 統計を適用するには:
メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが受信したレコードの総数を測定するかどうかを指定します。 |
numRecordsInPerSecond* |
Count/Second | このアプリケーション、オペレータ、またはタスクが 1 秒あたりに受信したレコードの総数です。 | アプリケーション、オペレータ、タスク、並列処理 | *一定期間 (秒/分) にわたって SUM 統計を適用するには:
メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが 1 秒あたりに受信したレコードの総数を測定するかどうかを指定します。 |
numRecordsOut* |
カウント | このアプリケーション、オペレータ、またはタスクが送信したレコードの総数。 | アプリケーション、オペレータ、タスク、並列処理 |
*一定期間 (秒/分) にわたって SUM 統計を適用するには:
メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが発行したレコードの総数を測定するかどうかを指定します。 |
numLateRecordsDropped* |
カウント | アプリケーション、オペレータ、タスク、並列処理 | *一定期間 (秒/分) にわたって SUM 統計を適用するには:
このオペレータまたはタスクが遅れたために減少したレコードの数。 |
|
numRecordsOutPerSecond* |
Count/Second | このアプリケーション、オペレータ、またはタスクが 1 秒あたりに送信したレコードの総数。 | アプリケーション、オペレータ、タスク、並列処理 |
*一定期間 (秒/分) にわたって SUM 統計を適用するには:
メトリックのレベルは、このメトリックがアプリケーション全体、特定のオペレータ、または特定のタスクが 1 秒あたりに送信したレコードの総数を測定するかどうかを指定します。 |
oldGenerationGCCount |
カウント | すべてのタスクマネージャーで発生した古いガベージコレクション操作の総数。 | アプリケーション | |
oldGenerationGCTime |
ミリ秒 | 古いガベージコレクション操作の実行にかかった合計時間。 | アプリケーション | このメトリックを使用して、ガベージコレクションの合計時間、平均時間、最大時間を監視できます。 |
threadsCount |
カウント | アプリケーションが使用したライブスレッドの総数。 | アプリケーション | このメトリックは、アプリケーションコードが使用するスレッド数を測定します。これはアプリケーションの並列処理とは異なります。 |
uptime |
ミリ秒 | ジョブが中断されずに実行された時間。 | アプリケーション | この指標を使用して、ジョブが正常に実行されているかどうかを判断できます。このメトリックは、完了したジョブに対して -1 を返します。 |
KPUs* |
カウント | アプリケーションが使用した KPU の総数。 | アプリケーション | *このメトリクスは、課金期間 (1 時間) ごとに 1 件のサンプルを受け取ります。時間の経過に伴う KPU の数を可視化するには、最低 1 時間の区切りで MAX または AVG を使用します。 KPU 数には |
Kinesis Data Streams コネクタメトリクス
AWSは、以下に加えて Kinesis Data Streamsすべてのレコードを出力します。
| メトリクス | 単位 | 説明 | レベル | 使用に関する注意事項 |
|---|---|---|---|---|
millisbehindLatest |
ミリ秒 | コンシューマーがストリームの先頭から遅れているミリ秒数は、コンシューマーが現在時刻からどれだけ遅れているかを示します。 | アプリケーション (Stream 用)、並列処理 (ShardId 用) |
|
bytesRequestedPerFetch |
バイト | getRecordsへの1回の呼び出しで要求されたバイト数。 |
アプリケーション (Stream 用)、並列処理 (ShardId 用) |
Amazon MSK コネクタメトリクス
AWS以下に加えて、Amazon MSK のすべてのレコードを発行します。
| メトリクス | 単位 | 説明 | レベル | 使用に関する注意事項 |
|---|---|---|---|---|
currentoffsets |
該当なし | 各パーティションのコンシューマーの現在の読み取りオフセット。特定のパーティションのメトリックは、トピック名とパーティション ID で指定できます。 | アプリケーション (Topic用)、並列処理 (PartitionID 用) | |
commitsFailed |
該当なし | オフセットのコミットとチェックポイントが有効になっている場合、Kafka へのオフセット コミットの失敗の合計数 | アプリケーション、オペレータ、タスク、並列処理 | オフセットを Kafka にコミットすることは、コンシューマの進行状況を公開するための手段にすぎないため、コミットの失敗は Flink のチェックポイントが設定されたパーティション オフセットの完全性に影響しません。 |
commitsSucceeded |
該当なし | オフセットのコミットとチェックポイント設定が有効な場合、Kafka へのオフセット コミットが成功した合計数。 | アプリケーション、オペレータ、タスク、並列処理 | |
committedoffsets |
該当なし | 最後に正常にコミットされたオフセットは、パーティションごとに Kafka に送信されます。特定のパーティションのメトリックは、トピック名とパーティション ID で指定できます。 | アプリケーション (Topic用)、並列処理 (PartitionID 用) | |
records_lag_max |
カウント | このウィンドウ内の任意のパーティションのレコード数に関する最大ラグ | アプリケーション、オペレータ、タスク、並列処理 | |
bytes_consumed_rate |
バイト | トピック用に消費された1秒あたりの平均バイト数 | アプリケーション、オペレータ、タスク、並列処理 |
Apache Zeppelin メトリクス
Studio ノートブックのために、AWSはKPUs cpuUtilization heapMemoryUtilization oldGenerationGCTime oldGenerationGCCountと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 |