Realtime Compute for Apache Flink は、Cloud Monitor (無料) または Application Real-Time Monitoring Service (ARMS) を使用したモニタリングとアラートをサポートしています。ジョブメトリクス、ジョブイベント、ワークフローのアラートを設定することで、異常を迅速に検出し、解決できます。このトピックでは、各サービスでモニタリングとアラートを設定する方法について説明します。
制限事項
セッションクラスターに送信された Flink ジョブでは、アラートルールはサポートされていません。
バッチジョブでは、アラートルールはサポートされていません。
ワークフローのアラートは ARMS ではサポートされていません。代わりに無料の Cloud Monitor サービスを使用できます。
設定の概要
使用できる設定方法は、ワークスペースの監視サービスタイプによって異なります。詳細については、「ワークスペースの監視サービスタイプを確認する方法」をご参照ください。
Cloud Monitor (無料)
メトリクスベースのアラート:CPU 使用率、レイテンシー、データ量などのメトリクス値に基づいてトリガーされるアラートです。これらのアラートは、単一のジョブまたはジョブのバッチに適用できます。
イベントベースのアラート (ワークフローを含む):ジョブの失敗など、特定のイベントが発生したときにトリガーされるアラートです。これらのアラートは、ジョブおよびワークフローのイベントに適用できます。
ARMS 監視サービス
メトリクスベースのアラート:6 つのコアメトリクスに基づいてトリガーされるアラートです。これらのアラートは、単一のジョブまたはジョブのバッチに適用できます。
イベントベースのアラート:このメソッドは、ジョブの失敗イベントのみをサポートします。他のイベントのアラートを設定するには、「Cloud Monitor のイベントベースのアラート (ワークフローを含む)」をご利用ください。
監視サービスタイプの切り替え
さまざまなビジネスニーズに合わせて、監視サービスタイプを切り替えることができます。
Realtime Compute コンソールで、対象のワークスペースの [操作] 列にある [詳細] をクリックして、別の監視サービスタイプに切り替えることができます。
サービスタイプを切り替える前に、注意事項をよく読み、確認チェックボックスを選択してください。
Cloud Monitor を使用したモニタリングとアラートの設定
メトリクスベースのアラート
Cloud Monitor のアラートは、ワークスペースを購入した Alibaba Cloud アカウント、またはそのアカウントから名前空間の権限を付与された RAM ユーザーおよび RAM ロールのみが設定できます。
-
Cloud Monitor コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[アラートルールの作成] をクリックし、パラメーターを設定します。
パラメーター
説明
製品
Realtime Compute for Apache Flink
リソース範囲
[インスタンス] を選択します。アラートルールは、特定の Realtime Compute for Apache Flink ワークスペースに適用されます。
関連リソース
[インスタンスの追加] をクリックします。ダイアログボックスで、ターゲットリージョンとワークスペースを選択し (ワークスペース ID などの情報を表示する方法)、[OK] をクリックします。
ルール説明
[+ルールの追加] > [シンプルメトリック] または [複合メトリクス] をクリックして、[ルール説明の設定] パネルを開きます。

[次元] セクションでは、監視対象のジョブを指定するために、名前空間(Flink プロジェクト名)および デプロイメント ID(対応する Flink ジョブの [デプロイメントの詳細] タブから取得した デプロイメント ジョブ ID)を設定できます。
説明ドロップダウンリストが空の場合は、名前空間と Deployment ID を手動で入力してください。
これらのフィールドを空白のままにすると、すべての名前空間のすべてのジョブが監視されます。
説明本番環境では、単一メトリクスのアラートは誤検知や偽陰性を引き起こす可能性があります。複合メトリクスのアラートは、ビジネス上の異常をより正確に反映できます。詳細については、「推奨される監視設定」をご参照ください。
その他のパラメーターの詳細については、「アラートルールの作成」をご参照ください。
イベントベースのアラート (ワークフローを含む)
Cloud Monitor でのアラート設定とイベントのサブスクライブは、ワークスペースを購入した Alibaba Cloud アカウント、またはそのアカウントから名前空間の権限を付与された RAM ユーザーおよび RAM ロールのみが実行できます。
ジョブイベントのアラート
条件を設定してジョブのシステムイベントアラートをサブスクライブし、イベントのバッチアラートを設定できます。
-
Cloud Monitor コンソールにログインします。
左側のナビゲーションウィンドウで、 を選びます。
[サブスクリプションポリシー] タブで、[サブスクリプションポリシーの作成] をクリックします。
[サブスクリプションポリシーの作成] ページで、パラメーターを設定します。その他のパラメーターの詳細については、「イベントサブスクリプションの管理」をご参照ください。

[サブスクリプションタイプ] で、[システムイベント] を選択します。
[製品] で、[Realtime Compute for Apache Flink] を選択します。
サポートされているイベントには、[JOB_FAILED] (ARMS ではサポートされていません)、[ECS.SystemFailure]、および [ECS.SystemMaintenance] が含まれます。
イベント内容:特定のジョブまたはバッチでアラートを設定するために、以下の Flink 情報を入力します。
ワークスペース ID:ターゲットワークスペース内のすべての名前空間のすべてのジョブにアラートルールを適用します。詳細については、「ワークスペース ID などの情報を表示する方法」をご参照ください。
名前空間名:ターゲット名前空間内のすべてのジョブにアラートルールを適用します。
Deployment 名:特定ジョブのデプロイメントにアラートルールを適用します。複数の名前はカンマ (
,) で区切ることができます。重複する Deployment 名が存在する場合は、Deployment ID を使用してください。Deployment ID:特定のジョブにイベントアラートを適用します。複数の ID はカンマ (
,) で区切ります。Deployment ID は、Flink ジョブの [Deployment 詳細] タブの [Deployment ジョブ ID] フィールドで確認できます。
説明[アプリケーション グループ]、[イベント内容]、または [イベントリソース] を空白のままにすると、サブスクリプションはご利用のアカウントのすべてのワークスペースに適用されます。
ワークフローイベントのアラート
条件を設定して、Flink ワークフローのシステムイベントアラートをサブスクライブできます。イベントアラートではバッチ設定がサポートされています。ワークフローの詳細については、「ワークフローの管理」をご参照ください。
ワークフロータスクのリソース ID を取得します。
-
Cloud Monitor コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[イベントモニタリング] タブで、製品 を [Realtime Compute For Apache Flink] に、イベント名 を [ワークフロータスクの状態変更] に設定し、[検索] をクリックします。
以下でワークフローノードのリソース ID を特定します。

リソース ID は
acs:flink:cn-hangzhou:<AlibabaCloudAccountID>:resourceId/workspaceId/<workspaceId-namespaceId>#workflowDefinitionName/<workflowDefinitionName>#taskDefinitionName/<taskDefinitionName>のフォーマットです。このフォーマットを使用して直接リソース ID を構築することもできます。パラメーター
説明
<AlibabaCloudAccountID>Flink ワークスペースを所有する Alibaba Cloud アカウント ID。
<workspaceId-namespaceId>workspaceIdとnamespaceIdをハイフン (-) で結合したものです。workspaceId:ご利用のワークスペース ID。詳細については、「ワークスペースと名前空間に関する FAQ」をご参照ください。namespaceId:ご利用の名前空間名。<workflowDefinitionName>ワークフロー名。
<taskDefinitionName>ワークフローノードの名前。
説明Cloud Monitor のワークフロー状態変化イベントは、数分遅延することがあります。
-
イベント通知をサブスクライブします。
左側のナビゲーションウィンドウで、 を選択します。
[サブスクリプションポリシー] タブで、[サブスクリプションポリシーの作成] をクリックします。
[サブスクリプションポリシーの作成] ページで、ポリシーを設定します。詳細については、「イベントサブスクリプションの管理 (推奨)」をご参照ください。
サブスクリプションタイプ:システムイベント。
製品:[Realtime Compute for Apache Flink] を選択します。
イベント名: [パイプラインタスク状態変更] を選択します。
イベント内容:
toState: FAILED(ワークフロー失敗)、toState: SUCCESS(ワークフロー成功)、またはfromState: SCHEDULED, toState: RUNNING(ワークフローがスケジュール済みから実行中に遷移) などの遷移状態でフィルタリングします。イベントリソース:ステップ 1 で取得したリソース ID を入力します。複数の ID はカンマ (
,) で区切ることができます。イベントタイプ、イベントレベル、アプリケーション グループ:これらのパラメーターは空白のままにします。
ARMS を使用したモニタリングとアラートの設定
メトリクスベースのアラート
ARMS で複数のメトリクスを監視するには、カスタム PromQL 文を使用できます。より簡単な設定を行うには、「Cloud Monitor のメトリクスベースのアラート」をご利用ください。
単一ジョブの設定 (Realtime Compute コンソール)
ターゲットジョブのアラートルールを作成したり、既存のアラートルールテンプレートを使用して設定を迅速化したりできます。
Realtime Compute 開発コンソールには、過去 48 時間のアラートイベントが表示されます。完全なアラート履歴については、ARMS コンソールの [アラート管理] を確認してください。
アラート設定ページに移動します。
Realtime Compute コンソールにログインします。次に、ワークスペースの [操作] 列で、[コンソール] をクリックします。
ページで、管理したいジョブの名前をクリックします。
[アラート設定] タブをクリックします。
[アラートルール] タブで、 を選択します。
また、 を選択して、アラートルールを直接作成したり、テンプレートを適用した後に少し変更したりすることもできます。
アラートルール情報を入力します。
カテゴリ
パラメーター
説明
個別ルール
[名前]
文字で始めます。小文字、数字、アンダースコア (_) を使用します。長さ:3~64 文字。
[説明]
ルールに関する注記。
コンテンツ
アラートをトリガーする条件を設定します。設定後、システムは定期的にメトリクス値をしきい値と比較し、条件が満たされた場合にアラートをトリガーします。
[メトリック]:
1分あたりの再起動回数:1分あたりの JobManager の再起動回数。
5分あたりのチェックポイント数:5分あたりの成功したチェックポイントの数。
Emit Delay:ビジネスレイテンシー。データが生成されてからソース演算子から出力されるまでの時間差として秒単位で測定されます。
重要Emit Delay の精度は、外部システムからの正確なタイムスタンプに依存します。外部システムにタイムスタンプがないか、誤ったタイムスタンプが記録されている場合、Emit Delay は不正確になり、真のレイテンシーを反映できません。実際のレイテンシーをより正確に反映するには、複合メトリクスのアラートを設定してください。詳細については、「推奨される監視設定」をご参照ください。
IN RPS:1秒あたりの入力レコード数。
OUT RPS:1秒あたりの出力レコード数。
ソースアイドル時間:ソース演算子がアイドル状態だった時間 (ミリ秒)。
ジョブ失敗:ジョブの失敗。
[時間間隔]:各チェック中にシステムが後方にクエリする過去のデータウィンドウの長さ (分)。
比較演算子: >= および <= をサポートしています。
[しきい値]:メトリックと比較される値。
>= を選択した場合、システムは最大メトリック値をしきい値と比較します。max_value >= threshold の場合にアラートがトリガーされます。
<= を選択した場合、システムは最小メトリック値をしきい値と比較します。min_value <= threshold の場合にアラートがトリガーされます。
例:[5分あたりのチェックポイント数] を、時間間隔 10 分、しきい値 2、比較演算子 <= で監視します。
システムは過去 10 分間を 1 分ごとにチェックします。いずれかの 5 分間の期間でチェックポイント数が 2 以下の場合にアラートがトリガーされます。
有効時間
アラートルールがアクティブな時間。デフォルトは 24 時間 365 日です。営業時間 (午前 9 時から午後 6 時) に制限することもできます。
アラートレート
アラート間の最小間隔。1 分から 1440 分 (24 時間) までサポートします。
[通知方法]
[通知方法]
1 つ以上の通知方法を選択します:
DingTalk。
メール:
SMS:ショートメッセージ。
Webhook:サービスエンドポイントを指定します。
電話:電話番号。
受信者の電話番号が認証されていることを確認してください。そうでない場合、通知は有効になりません。下にある [通知受信者管理] をクリックし、[連絡先] タブで対象の連絡先の [電話] 列に [未認証] タグが表示されている場合は、そのタグをクリックして認証を完了してください。

重要選択した通知方法に対応する通知オブジェクトが設定されていることを確認してください。DingTalk の場合、通知方法として DingTalk を選択した後に、DingTalk ロボット通知オブジェクトを追加する必要があります。
[通知オブジェクト]
複数の通知の受信者に同時に通知できます。直接選択または検索できます。通知の受信者を選択する前に、右側の [通知受信者管理] をクリックして作成する必要があります。詳細については、「ストレージの管理と操作」をご参照ください。
アラートノイズ抑制
[詳細設定] をクリックし、[アラートノイズリダクション] をオンにします。
有効にすると、しきい値が継続的に満たされた場合にのみアラートが送信されます。これにより、クラスターのスケジューリングや自動チューニングによる一時的なフェールオーバーなど、一時的な問題に対するアラートを防ぎます。
データなしアラート
「[詳細設定]」をクリックし、「[データなしアラート]」をオンにし、期間を指定してください。
選択した期間内に監視データがレポートされない場合にアラートをトリガーします。一般的な原因:JobManager の例外、ジョブの停止、またはレポートリンクの障害。
[OK] をクリックします。
アラートルールを保存すると、デフォルトで有効になり、アラートルールリストに表示されます。その後、ルールを停止、編集、または削除できます。
単一ジョブ/複数ジョブの設定 (ARMS コンソール)
Flink コンソールでジョブ名を変更した場合、元のジョブ名を使用して ARMS コンソールで設定されたアラートルールは無効になります。名前が変更されたジョブを選択し、アラートルールを再設定する必要があります。
Realtime Compute コンソールにログインします。
ワークスペースの [操作] 列で、 をクリックして ARMS コンソールにアクセスします。
ページの上部にワークスペース名、ワークスペース ID、および対応する Prometheus インスタンス名が表示されます。

左側のナビゲーションウィンドウで、[アラートルール] をクリックしてアラートルールを作成します。
検出タイプ:Flink がすでにアラートをサポートしているメトリクスを除き、静的しきい値とカスタム PromQL によるメトリクスベースのアラートをサポートします。
フィルター条件により、バッチアラート設定が可能です。[Namespace] には、名前空間名を入力します。[すべて] を選択すると、ワークスペース内のすべての名前空間に適用されます。[Deployment] には、名前空間内のターゲットジョブの [Deployment ジョブ ID] を入力します (この ID は Flink ジョブの [Deployment 詳細] タブで確認できます)。[すべて] を選択すると、名前空間内のすべてのジョブに適用されます。
その他の設定パラメーターの詳細については、「Prometheus アラートルールの作成」をご参照ください。Prometheus アラートルールテンプレートを作成することもできます。詳細については、「Prometheus アラートルールテンプレートの作成」をご参照ください。
イベントベースのアラート
ジョブの失敗イベントのみがサポートされています。このイベントのアラートを設定するには、「メトリクスベースのアラート」の手順に従い、[ジョブ失敗] メトリックを選択します。他のイベントのアラートを設定するには、「Cloud Monitor のイベントベースのアラート (ワークフローを含む)」をご利用ください。
よくある質問
Realtime Compute 開発コンソールでアラート用の DingTalk ロボットを追加する方法
Realtime Compute 開発コンソールで Webhook を作成する方法
参考文献
Realtime Compute for Apache Flink は、ジョブのモニタリングとアラートのために Cloud Monitor (無料) と ARMS (Managed Service for Prometheus) をサポートしています。機能と価格の比較については、「Cloud Monitor と ARMS のアラート機能の比較」をご参照ください。
ARMS は、アラートエスカレーション、スケジューリングなどの機能の設定をサポートしています。詳細については、エスカレーションポリシー、および関連する実践チュートリアル をご参照ください。
Cloud Monitor は、DingTalk および Lark グループを使用してアラート通知を受信することをサポートしています。設定の詳細については、「Cloud Monitor のアラート通知方法」をご参照ください。
サポートされている監視メトリクスの詳細については、「監視メトリクス」をご参照ください。
ARMS を使用してコストを削減するために、モニタリングとアラートを無効にしたり、特定のメトリクスを破棄したりできます。後でメトリクスの収集を再開できます。詳細については、「監視メトリクスの破棄または再開」をご参照ください。

