Dataphin では、オープンソース Flink エンジンのリアルタイムインスタンスの実行中の分析を表示できます。この機能により、インスタンス情報を分析および更新し、失敗回数、バックプレッシャーのステータス、シンクごとのデータ出力、失敗したチェックポイントの数などの主要なメトリクスを表示できます。
権限
プロジェクトの実行中の分析を表示するには、プロジェクトスペースの権限が必要です。
Apache Flink ダッシュボードにアクセスするには、ユーザー名とパスワードを入力する必要があります。次のロールは、ユーザー名とパスワードのヒントを表示できます: スーパー管理者、システム管理者、タスク所有者、およびプロジェクト運用保守エンジニア。
実行中の分析へのアクセス
Dataphin ホームページの上部メニューで、[Development] > [Task O&M] を選択します。
左側メニューで、[instance O&M] > [real-time instance] を選択します。[real-time instance] ページで、対象インスタンスの [Actions] 列にある
アイコンをクリックします。
実行中の分析の表示
実行中の分析ページには、次の図に示すように、さまざまなメトリクスのステータスが表示されます。

機能 | 説明 |
[① 時間範囲セレクター] |
|
② [Apache Flink ダッシュボードへの移動]と[更新] |
|
③ リアルタイムモニタリングメトリクス | Flink SQL または Flink DataStream タスクでは、概要、チェックポイント、IO、ウォーターマーク、CPU、メモリ、JVM の各メトリクスを表示できます。各メトリクスの詳細については、「リアルタイムモニタリングメトリクス」をご参照ください。 |
④ メトリクスデータ統計 | 選択した時間範囲内の各メトリクスのデータを表示できます。 |
メトリクス集計ルール
選択した時間範囲が6時間以内の場合、1分ごとに収集されたすべてのデータポイントが表示されます。
選択した時間範囲が6時間を超え24時間以内の場合、データポイントは正時から5分ごとに表示されます。各データポイントは、直前の5分間のデータを集計したものです。
選択した時間範囲が24時間を超える場合、データポイントは正時から10分ごとに表示されます。各データポイントは、直前の10分間のデータを集計したものです。
リアルタイムモニタリングメトリクス
概要
メトリクス | 説明 | 単位 |
[失敗回数] | 選択した時間範囲内でタスクが失敗した回数。 | カウント |
[バックプレッシャーのステータス] | 選択した時間範囲内にタスクのバックプレッシャーが存在するかどうかを示します。バックプレッシャーは、上流タスクが下流タスクの消費速度よりも速くデータを生成した場合に発生します。 | はい/いいえ |
[シンクごとのデータ出力] | 各シンクのデータ出力レート (トランザクション/秒 (TPS))。 | カウント/秒 |
[失敗したチェックポイントの数] | 選択した時間範囲内でのタスクの失敗したチェックポイント操作の数。 | カウント |
チェックポイント
メトリクス | サブメトリクス | 説明 | 単位 |
チェックポイントの数 (Num of Checkpoints) | チェックポイントの総数 (totalNumberOfCheckpoints) | 選択した時間範囲内でのタスクのチェックポイントの総数。 | カウント |
失敗したチェックポイントの総数 (numberOfFailedCheckpoints) | 選択した時間範囲内でのタスクの失敗したチェックポイントの数。 | カウント | |
完了したチェックポイントの総数 (numberOfCompletedCheckpoints) | 選択した時間範囲内でのタスクの完了したチェックポイントの数。 | カウント | |
進行中のチェックポイントの総数 (numberOfInProgressCheckpoints) | 選択した時間範囲内でのタスクの進行中のチェックポイントの数。 | カウント | |
最後のチェックポイントの期間 | 最後のチェックポイントの期間 (lastCheckpointDuration) | タスクの最後のチェックポイントの期間。 大きなステートサイズ、一時的なネットワークの問題、不整合なバリア、またはデータのバックプレッシャーにより、チェックポイントの期間が長くなったり、タイムアウトが発生したりする可能性があります。 | ms |
最後のチェックポイントのサイズ (lastCheckpointSize) | 最後のチェックポイントのサイズ (lastCheckpointSize) | タスクの最後のチェックポイントのサイズ。このメトリクスを使用して、ボトルネックが発生したときのチェックポイントのパフォーマンスを分析できます。 | byte |
IO
メトリクスグループ | 説明 | メトリクス | 説明 | 単位 |
1 秒あたりの総入力バイト数 (numBytesInPerSecond) | このメトリクスグループは、アップストリームデータフローとジョブトラフィックのパフォーマンスをモニタリングするために使用します。 | 1 秒あたりにローカルで読み取られるバイト数 (numBytesInLocalPerSecond) | 1 秒あたりにローカルで読み取られるバイト数。 | byte |
1 秒あたりにリモートで読み取られるバイト数 (numBytesInRemotePerSecond) | 1 秒あたりにリモートで読み取られるバイト数。 | byte | ||
1 秒あたりにローカルネットワークバッファから読み取られるバイト数 (numBuffersInLocalPerSecond) | 1 秒あたりにローカルネットワークバッファから読み取られるバイト数。 | byte | ||
1 秒あたりにリモートネットワークバッファから読み取られるバイト数 (numBuffersInRemotePerSecond) | 1 秒あたりにリモートネットワークバッファから読み取られるバイト数。 | byte | ||
1 秒あたりの総出力バイト数 (numBytesOutPerSecond) | このメトリクスグループは、アップストリームスループットとジョブトラフィックのパフォーマンスをモニタリングするために使用します。 | 1 秒あたりの出力バイト数 (numBytesOutPerSecond) | 1 秒あたりの出力バイト数。 | byte |
1 秒あたりの出力バッファバイト数 (numBuffersOutPerSecond) | 1 秒あたりにネットワークバッファから出力されるバイト数。 | byte | ||
サブタスクごとの 1 秒あたりのレコード I/O (Task numRecordsI/OPerSecond) | このメトリクスを使用して、IO ボトルネックを特定し、レートに基づいてその深刻度を評価できます。 | 1 秒あたりに受信されるレコード数 (numRecordsInPerSecond) | 1 秒あたりに受信されるレコード数。 | カウント |
1 秒あたりに送信されるレコード数 (numRecordsOutPerSecond) | 1 秒あたりに送信されるレコード数。 | カウント | ||
サブタスクごとの総レコード I/O (Task numRecordsI/O) | このメトリクスを使用して、ジョブの IO ボトルネックを特定できます。 | 受信されたレコードの総数 (numRecordsIn) | 受信されたレコードの総数。 | カウント |
送信されたレコードの総数 (numRecordsOut) | 送信されたレコードの総数。 | カウント |
ウォーターマーク
メトリクス | 説明 | 単位 |
タスク入力ウォーターマーク (Task InputWatermark) | 各タスクが受信した最新のウォーターマークのタイムスタンプ。このメトリクスは、TM でのデータ受信レイテンシを示します。 | ms |
CPU
メトリクス | 説明 | 単位 |
JM の CPU 負荷 (JM CPU Load) | 単一 JM の CPU 使用率。値が常に100%を超える場合は、CPU 負荷が高く、システムのパフォーマンスに影響を与え、動作の遅延や応答時間の長期化につながる可能性があることを示します。 | カウント |
TM の CPU 負荷 (TM CPU Load) | 単一 TM の CPU 使用率。この値は、Flink による CPU タイムスライスの消費を反映します。シングルコア CPU の場合、100%は完全な使用率を示し、4コア CPU の場合、400%は完全な使用率を示します。値が常に100%を超える場合は、CPU 負荷が高いことを示します。負荷は高いが CPU 使用率が低い場合、これは、頻繁な読み取り/書き込み操作によって引き起こされる、割り込み不可能なスリープ状態のプロセスが過剰に存在することが原因である可能性があります。 | カウント |
メモリ
メトリクス | サブメトリクス | 説明 | 単位 |
JM ヒープメモリ (JM Heap Memory) | 使用済み (JM Heap Memory Used) | 使用済みの JM ヒープメモリ量。 | byte |
コミット済み (JM Heap Memory Committed) | コミット済みの JM ヒープメモリ量。 | byte | |
最大 (JM Heap Memory Max) | 使用可能な最大の JM ヒープメモリ。 | byte | |
JM 非ヒープメモリ (JM NonHeap Memory) | 使用済み (JM NonHeap Memory Used) | 使用済みの JM 非ヒープメモリ量。 | byte |
コミット済み (JM NonHeap Memory Committed) | コミット済みの JM 非ヒープメモリ量。 | byte | |
最大 (JM NonHeap Memory Max) | 使用可能な最大の JM 非ヒープメモリ。 | byte | |
TM ヒープメモリ (TM Heap Memory) | 使用済み (TM Heap Memory Used) | 使用済みの TM ヒープメモリ量。 | byte |
コミット済み (TM Heap Memory Committed) | コミット済みの TM ヒープメモリ量。 | byte | |
最大 (TM Heap Memory Max) | 使用可能な最大の TM ヒープメモリ。 | byte | |
TM 非ヒープメモリ (TM NonHeap Memory) | 使用済み (TM NonHeap Memory Used) | 使用済みの TM 非ヒープメモリ量。 | byte |
コミット済み (TM NonHeap Memory Committed) | コミット済みの TM 非ヒープメモリ量。 | byte | |
最大 (TM NonHeap Memory Max) | 使用可能な最大の TM 非ヒープメモリ。 | byte |
JVM
メトリクス | 説明 | 単位 |
アクティブな JM スレッドの総数 (JM Threads) | アクティブな JM スレッドの総数。スレッド数が多すぎると、過剰なメモリを消費し、ジョブの安定性が低下する可能性があります。 | カウント |
アクティブな TM スレッドの総数 (TM Threads) | アクティブな TM スレッドの総数 (TM ごとに集計)。各 TM はグラフ上で個別の線で表されます。 | カウント |
JM の若い世代の GC 時間 (JM GC Time) | JM の若い世代のガベージコレクターの実行時間。長時間のガベージコレクション (GC) の一時停止は、大量のメモリを消費し、ジョブのパフォーマンスに影響を与える可能性があります。このメトリクスは、ジョブレベルの障害を診断するために使用します。 | ms |
TM の若い世代の GC 時間 (TM GC Time) | TM の若い世代のガベージコレクターの実行時間。長時間の GC の一時停止は、大量のメモリを消費し、ジョブのパフォーマンスに影響を与える可能性があります。このメトリクスは、タスクレベルの障害を診断するために使用します。 | ms |
JM の若い世代の GC カウント (JM GC Count) | JM の若い世代のガベージコレクターが実行された回数。頻繁な GC イベントは、大量のメモリを消費し、ジョブのパフォーマンスに影響を与える可能性があります。このメトリクスは、ジョブレベルの障害を診断するために使用します。 | カウント |
TM の若い世代の GC カウント (TM GC Count) | TM の若い世代のガベージコレクターが実行された回数。頻繁な GC イベントは、大量のメモリを消費し、ジョブのパフォーマンスに影響を与える可能性があります。このメトリクスは、タスクレベルの障害を診断するために使用します。 | カウント |
TM のロード済みクラス (TM ClassLoader) | 起動以降に TM の JVM によってロードされたクラスの総数。ロードまたはアンロードされたクラスの数が多いと、過剰なメモリを消費し、ジョブのパフォーマンスに影響を与える可能性があります。 | カウント |
JM のロード済みクラス (JM ClassLoader) | 起動以降に JM の JVM によってロードされたクラスの総数。ロードまたはアンロードされたクラスの数が多いと、過剰なメモリを消費し、ジョブのパフォーマンスに影響を与える可能性があります。 | カウント |
