Alibaba Cloud Realtime Compute は、現在のジョブのコアメトリックの概要ページを提供します。 曲線グラフに基づいて、ジョブの実行ステータスを迅速に診断することができます。 将来的に Realtime Compute は、ジョブステータスに基づいた、より詳細でインテリジェントな分析アルゴリズムを提供し、インテリジェントかつ自動化された診断が実行できるようにします。

次の図は、メトリックの曲線グラフを示しています。曲線グラフ
  • メトリックは、ジョブが実行状態のときのみに表示されます。 ジョブが一時停止または停止状態の場合、メトリックは表示されません。
  • メトリックはバックエンドで非同期的に収集されます。 したがって、データ遅延が存在します。 ジョブが 1 分以上実行されてはじめて、メトリックは収集され曲線グラフに表示されます。

曲線グラフページに移動

  1. [ジョブ管理] ページに移動します。
    1. Realtime Compute コンソールにログインします。
    2. 上部のナビゲーションバーの [管理] をクリックします。
    3. [ジョブ] セクションの [ジョブ名] フィールドの下にあるターゲットジョブ名をクリックします。
  2. [ジョブ管理] ページ上部の [曲線グラフ] をクリックします。

概要

  • フェールオーバー

    フェールオーバー曲線グラフには、現在のジョブのエラーまたは例外が引き起こすフェールオーバーの頻度が表示されます。 フェールオーバー率は、現在のフェールオーバー時点から 1 分以内の累積フェールオーバー回数を 60 で割って算出します。 直近の 1 分間にフェールオーバーが 1 回発生したと仮定します。 フェールオーバー率は 0.01667 (1/60 = 0.01667) となります。

  • 遅延

    フルリンクのリアルタイムの状態とジョブのパフォーマンスを理解しやすくするため、Realtime Compute は、以下に述べる 3 つのレイテンシメトリックを提供します。

    • [処理遅延]:処理遅延 = 現在のシステム時間 - システムが最後のデータレコードを処理するイベント時間。 入力ストレージシステムにデータが入力されなくなると、システム時間が進むにつれて処理遅延が徐々に増加します。
    • [データ滞留時間]:データ滞留時間 = データが Flink に入る時間 - イベント時間。 入力ストレージシステムにデータが入力されなくても、データ滞留時間は増加しません。 一般的に、データ滞留時間は、現在の Realtime Compute ジョブにバックプレッシャーがあるかどうかの評価をするときに使用します。
    • [データ到着間隔]:データ到着間隔 = 処理遅延 - データ滞留時間。 Realtime Compute ジョブにバックプレッシャーがない場合 (データ滞留時間が小さく安定している場合)、データ到着間隔はデータソース間のデータのまばらさの度合いを反映することができます。 Realtime Compute ジョブにバックプレッシャーがある場合 (データの滞留時間が長いか不安定である場合)、このメトリックには参考にする意義はありません。
    • Realtime Compute は、分散コンピューティングフレームワークを適用します。 上記のレイテンシメトリックは、ソースの各シャードの値またはパーティションの値を取得し、すべてのパーティションの中での最大の値をフロントエンドページに報告します。 そのため、フロントエンドページに表示される集約されたデータ到着間隔は、データ到着間隔の計算方法に基づいて取得されたものと正確には一致しません。
    • ソースのシャードまたはパーティションにデータが入らなくなると、処理遅延が徐々に増加します。
    • 現在、基盤となるアルゴリズムが実装されている場合、10 秒未満のデータ到着間隔は 0 として報告されます。
  • 各ソースの入力 TPS

    この [グラフ] は Realtime Compute ジョブのすべてのストリームデータ入力に関する統計を反映します。 ソーステーブルから読み取られた 1 秒あたりのブロック数が記録されます。 これにより、データストレージシステムの 1 秒あたりのトランザクション (TPS) が理解しやすくなります。 TPS とは異なり、1 秒あたりのレコード (RPS) は、ソーステーブルから 1 秒あたりに読み取られたレコードの数を記録します。 これらのレコードはブロックから解決されます。 Log Service を例に挙げます。 1 秒あたり LogGroups が 5 つ、読み取られるとします。 TPS は 5 となります。 各 LogGroup から 8 つのログレコードが解決される場合、合計 40 のログレコードが解決されることになり、RPSは 40 となります。

  • 各シンクのデータ出力

    この[グラフ] は Realtime Compute ジョブのすべてのデータ出力に関する統計を反映します。 これにより、データストレージシステムの RPS を理解しやすくなります。 一般的に、システムの運用保守中にデータ出力を検出できない場合は、入力と出力のストレージシステムを両方確認する必要があります。

  • 各ソースの入力 RPS

    この [グラフ] は Realtime Compute ジョブのすべてのストリームデータ入力の統計を反映します。 これにより、データストレージシステムの RPS を理解しやすくなります。 一般的に、システムの運用保守中にデータ出力を検出できない場合は、RPS を確認して、データソースからの入力が正常かどうかを判断する必要があります。

  • [各ソースの入力 BPS]:この [グラフ] は Realtime Compute ジョブのすべてのストリームデータ入力の統計を反映します。 入力ソーステーブルの読み取りに使用される 1 秒あたりのトラフィックが記録されます。 これにより、トラフィックの 1 秒あたりのバイト (BPS) が理解しやすくなります。
  • [各ソースからのダーティデータ]:この [グラフ] はさまざまな期間における Realtime Compute ジョブのソースにあるダーティデータレコードの数を反映します。
  • オートスケーリングの成功と失敗
    この曲線グラフは、Realtime Compute V3.0.0 以降でサポートしています。
    この [グラフ] は、オートスケーリングを実行したときの成功数と失敗数を反映します。
  • オートスケーリングが消費する CPU
    この曲線グラフは、Realtime Compute V3.0.0 以降でサポートしています。
    この [グラフ] は、オートスケーリングの実行時に消費される CPU の量を反映します。
  • オートスケーリングが消費するメモリ
    この曲線グラフは、Realtime Compute V3.0.0 以降でサポートしています。
    この [グラフ] はオートスケーリングの実行時に消費されるメモリの量を反映します。

詳細ビュー

Alibaba Cloud Realtime Compute が提供するフォールトトレランスにより、データストリームを復元し、アプリケーションに対するデータストリームの一貫性を保つことができます。 フォールトトレランスの中核は、分散データストリームとその状態の、一貫性のあるスナップショットを作成することです。 これらのスナップショットは、障害発生時にシステムがフォールバックできる一貫性チェックポイントとして機能します。

分散スナップショットのコアコンセプトの 1 つはバリアです。 バリアはデータストリームに挿入され、データストリームと一緒にダウンストリームに流れます。 バリアがレコードを追い越すことはなく、データストリームは厳密に 1 列に並びます。 1 つのバリアは、データストリームを 2 分割します。前者は現在のスナップショットに入り、後者は次のスナップショットに入ります。 各バリアにはスナップショット ID があります。 バリアよりも前に流れるデータは、このバリアに対応するスナップショットに入ります。 バリアは軽量 なので、データストリームの処理には干渉しません。 さまざまなスナップショットからの複数のバリアが、同じデータストリームに同時に存在する場合があります。 この場合、複数のスナップショットを同時に作成することができます。
バリアは、ソースエンドでデータストリームに挿入されます。 ソースストリーム内で、スナップショット n のバリアが挿入されるポイントまでのデータが、そのスナップショットでカバーされます。 この点は Sn で示されます。 その後、バリアはダウンストリームに流れます。 中間オペレーターは、すべての入力ストリームからスナップショット n のバリアを受け取ると、スナップショット n のバリアをすべての出力ストリームに送信します。 シンクオペレーター (DAG ストリームの宛先) がすべての入力ストリームからスナップショット n のバリアを受信すると、オペレーターはスナップショット n が作成されたことをチェックポイントコーディネーターに報告します。 すべてのシンクオペレーターからスナップショット n の作成完了報告があってはじめて、このスナップショットは作成されたと見なされます。次の表は、チェックポイントメトリックの曲線グラフを示しています。
曲線グラフ 説明
チェックポイント期間 このグラフは、チェックポイントの作成に費やした時間をミリ秒単位で表示しています。
チェックポイントサイズ このグラフは、チェックポイントの作成に必要なメモリサイズを示しています。
チェックポイント調整時間 このグラフは、すべてのデータストリームが、入力ノードからチェックポイントを作成するノードに流れるために必要な期間を表示しています。 シンクオペレーター (DAG ストリームの宛先) がすべての入力ストリームからスナップショット n のバリアを受信すると、オペレーターはスナップショット n が作成されたことをチェックポイントコーディネーターに報告します。 すべてのシンクオペレーターからスナップショット n の作成完了報告があってはじめて、このスナップショットは作成されたと見なされます。 この期間は、チェックポイント調整時間と呼ばれます。
チェックポイント数 このグラフは、指定した期間のチェックポイント数を表示しています。
Get このグラフは、指定された期間内に RocksDB で GET 操作を実行するためにサブタスクが費やした最長時間を表示しています。
Put このグラフは、指定された期間内に RocksDB で PUT 操作を実行するためにサブタスクが費やした最長時間を表示しています。
Seek このグラフは、指定された期間内に RocksDB で SEEK 操作を実行するためにサブタスクが費やした最長時間を表示しています。
状態サイズ このチャートは、ジョブの状態サイズを表示しています。 サイズが急激に増加する場合は、潜在的な問題の確認および解決をお勧めします。
GMS GC 時間 このグラフは、ジョブの基礎となるコンテナーがガベージコレクションに費やした時間を表示しています。
GMS GC レート このグラフは、ジョブの基礎となるコンテナーがガベージコレクションを実行する頻度を表示しています。

WaterMark

曲線グラフ 説明
ウォーターマーク遅延 このグラフは、ウォーターマーク時間とシステム時間の差を表示しています。
ドロップされたレコード (毎秒) ウォーターマーク時間後にウィンドウに到着したデータレコードはドロップされます。 このグラフは、1 秒あたりにドロップされたデータレコードの数を表示しています。
ドロップされたレコード ウォーターマーク時間後にウィンドウに到着したデータレコードはドロップされます。 このグラフは、ドロップされたデータレコードの総数を表示しています。

遅延

[処理遅延最長 15 サブタスク] グラフは、各ソースサブタスクの処理レイテンシを表示しています。

スループット

曲線グラフ 説明
タスク入力 TPS このグラフは、ジョブ内のすべてのタスクのデータ入力状況を表示しています。
タスク出力 TPS このグラフは、ジョブ内のすべてのタスクのデータ出力状況を表示しています。

キュー

曲線グラフ 説明
入力キュー使用量 このチャートは、ジョブ内のすべてのタスクのデータ入力キューを表示しています。
出力キュー使用量 このチャートは、ジョブ内のすべてのタスクのデータ出力キューを表示しています。

トレース

曲線グラフ 説明
処理に使用された時間 (毎秒) このグラフは、タスクが 1 秒あたりのデータ処理に費やす時間を表示しています。
出力待機に使用された時間 (毎秒) このグラフは、タスクが 1 秒あたりの出力の待機に費やす時間を表示しています。
タスクレイテンシヒストグラム平均 このグラフは、各タスクのレイテンシを表示しています。
出力待機時間ヒストグラム平均 このグラフは、各タスクが出力の待機に費やす時間を表示しています。
入力待機時間ヒストグラム平均 このグラフは、各タスクが入力の待機に費やす時間を表示しています。
パーティション待機時間平均 このグラフは、各パーティションでの並行タスクのレイテンシを表示しています。

プロセス

曲線グラフ 説明
プロセスメモリ RSS このグラフは、各プロセスのメモリ使用量を表示しています。
CPU 使用量 このグラフは、各プロセスのCPU 使用率を表示しています。

JVM

曲線グラフ 説明
ヒープメモリ使用量 このグラフは、ジョブの Java 仮想マシン (JVM) ヒープメモリの使用状況を表示しています。
非ヒープメモリ使用量 このグラフは、ジョブの JVM 非ヒープメモリの使用状況を表示しています。
スレッド数 このグラフは、ジョブのスレッド数を表示しています。
GC (GMS) このグラフは、ジョブが完了したガベージコレクションの回数を表示しています。