Flink Advisor は、ログ、イベント、メトリック、および設定をリアルタイムで分析することにより、Realtime Compute for Apache Flink デプロイメントを診断します。デプロイメントのライフサイクル全体を通じてデプロイメントのヘルス状態を監視し、例外やリスクを検出し、トラブルシューティング時間と平均修復時間 (MTTR) を削減するための実用的な最適化の提案を提供します。

制限事項
インテリジェントジョブ診断は、ストリーミングデプロイメントでのみサポートされます。バッチデプロイメントはサポートされません。
仕組み
Flink Advisor は、デプロイメントのヘルスステータスを継続的に評価します。ヘルススコアは 100 から始まり、過去 30 分間に検出されたリスクの数と重大度に基づいて減点されます。
スコアは、デプロイメントリストに色分けされたバッジとして表示されます。
|
色 |
スコア範囲 |
意味 |
|
緑 |
80 以上 |
潜在的なリスクはありません。設定に関する提案が表示されることがあります。 |
|
黄 |
60 以上 80 未満 |
問題または潜在的なリスクが検出されました。デプロイメントを確認してください。 |
|
赤 |
60 未満 |
重大な問題が検出されました。デプロイメントがキャンセルされるのを防ぐために、直ちに対処してください。 |
ドラフトの例外ログの診断
デプロイメントを公開する前に SQL エラーを診断するには、このワークフローを使用します。
-
Realtime Compute for Apache Flink コンソールにログインします。管理するワークスペースを見つけ、[Actions] 列の [Console] をクリックします。
-
左側のナビゲーションペインで、[Development] > [ETL] を選択します。ドラフトを作成し、SQL ステートメントを記述して、[Validate] をクリックします。
-
SQL Editor ページの下部で、エラーの詳細、考えられる原因、および最適化の提案を確認します。
たとえば、[Deep Check] セクションには、チェックステータス (「SQL syntax and network connectivity check failed」など) と詳細なエラーメッセージを示す赤いエラーアイコンが表示されます。[Analysis Result] セクションには、考えられる原因 (「The table or view referenced in the SQL statement does not exist」など) と推奨される解決策 (「Verify that the table or view name has been created」など) が一覧表示されます。ページの下部には、折りたたみ可能な [SQL Optimization] セクションが表示されます。
構文チェックの結果から原因を特定できない場合は、関連するログを選択し、[Search in Documentation] をクリックして関連情報を検索してください。
デプロイメントの例外ログの診断
実行中または失敗したデプロイメントでログに記録された例外を調査するには、このワークフローを使用します。
-
Realtime Compute for Apache Flink コンソールにログインします。管理するワークスペースを見つけ、[Actions] 列の [Console] をクリックします。
-
左側のナビゲーションペインで、[O&M] > [Deployments] を選択します。調査するデプロイメントの名前をクリックします。
-
[Logs] タブをクリックします。左側のペインで、[Logs]、[Startup Logs]、または [JM Exceptions] をクリックして、関連するログを表示します。
メインエリアには、例外スタックトレースが表示されます。その下の [Analysis based on current logs] セクションには、考えられる原因と推奨される解決策が一覧表示されます。下部の [Exception History] テーブルには、最初の発生時刻、名前、例外タイプ、および発生回数とともに、過去の例外が表示されます。
ログタイプの詳細については、「デプロイメントのブートログと運用ログの表示」をご参照ください。例外ログを調査するには、「デプロイメントの例外ログの表示」をご参照ください。過去のレコードにアクセスするには、「過去のデプロイメントのログの表示」をご参照ください。
異常なデプロイメントのインテリジェント診断
デプロイメントが異常な状態にあり、根本原因を特定する必要がある場合は、このワークフローを使用します。
-
次のいずれかの方法を使用して、[Diagnosis] タブに移動します。
-
デプロイメントリストでデプロイメントを見つけ、[Health] 列のスコアをクリックします。
-
デプロイメント名をクリックしてから、[Diagnosis] タブをクリックします。
[Diagnosis] ページでは、[Health Score] (例:99) と診断時刻を確認できます。[Diagnose] をクリックして、診断チェックを実行します。結果には、チェックされた項目の総数 (例:5) が表示され、[Resource Analysis] などのカテゴリには注意が必要であることが示されますが、[Startup Analysis]、[Deployment Analysis]、[State Analysis]、および [Exception Analysis] は診断チェックに合格しています。
-
-
[Diagnose] をクリックします。Flink Advisor は、Flink 例外ログ用のさまざまなログリポジトリを提供します。診断項目と修復手順の完全なリストについては、「Flink Advisor 診断項目」をご参照ください。
-
診断結果と最適化の提案を確認します。提案を適用するには、その横にある [Apply] をクリックします。
Flink Advisor 診断項目
診断項目は、次の 2 つのカテゴリに分類されます。
-
[例外]:デプロイメントの実行に影響があります。直ちに対処する必要があります。
-
リスク:デプロイメントは現在実行中ですが、潜在的な問題が検出されています。将来の障害を防ぐために、事前に対処してください。
|
タイプ |
フェーズ |
診断項目 |
説明 |
|
[例外] (デプロイメントの実行に影響があります) |
起動 |
起動ファイル分析 |
必要な JAR パッケージが Object Storage Service (OSS) ディレクトリにありません。デプロイメントを開始する前に、JAR パッケージを再アップロードしてください。 |
|
起動 |
リソース分析 |
残りの使用可能なリソースが不足しています。デプロイメントのリソース設定値を減らすか、クラスターをスケールアウトしてください。 |
|
|
起動 |
リソース分析 |
Container Network Interface (CNI) がデプロイメントへのバインドに失敗しました。関連する vSwitch の IP アドレス数が上限に達していないか確認してください。 |
|
|
起動 |
リソース分析 |
Elastic Network Interface (ENI) の IP アドレス数が上限を超えています。ENI の数を増やして、再試行してください。 |
|
|
起動 |
トポロジネットワーク分析 |
TaskManager と JobManager の間にネットワーク接続が確立されていません。デプロイメントが異常です。 |
|
|
起動 |
トポロジネットワーク分析 |
過去 10 分以内に、Elastic Compute Service (ECS) インスタンスへの ENI のバインドがタイムアウトしました。デプロイメントの起動速度が遅くなっています。操作が完了するまでお待ちください。 |
|
|
起動 |
アップストリームサービスおよびダウンストリームサービスのネットワーク分析 |
TCP ポート検出は正常ですが、アップストリームまたはダウンストリームのコネクタが接続されていません。アップストリームサービスとダウンストリームサービスのネットワーク設定を確認してください。 |
|
|
起動 |
アップストリームサービスおよびダウンストリームサービスの権限検出 |
アップストリームデータソースが接続されていません。アップストリームサービスの権限設定を確認してください。 |
|
|
起動 |
アップストリームサービスおよびダウンストリームサービスの権限検出 |
ダウンストリームデータソースが接続されていません。ダウンストリームサービスの権限設定を確認してください。 |
|
|
起動 |
起動速度分析 |
JAR パッケージが大きすぎるため、起動が遅くなっています。JAR パッケージを圧縮して再アップロードするか、起動が完了するまでお待ちください。 |
|
|
起動 |
JobGraph チェック |
Realtime Compute for Apache Flink の以前のバージョンの設定ファイルが欠落している可能性があります。フェイルオーバー後にデプロイメントを回復できない可能性があります。デプロイメントを手動でキャンセルして再起動してください。 |
|
|
起動 |
セッションクラスターチェック |
Realtime Compute for Apache Flink の以前のバージョンのセッションクラスターが異常である可能性があるため、デプロイメントが異常になっています。 |
|
|
実行中 |
高可用性 (HA) ステータスチェック |
HA が有効になっていません。障害後にデプロイメントを回復できません。ドラフトを再度公開してから、デプロイメントを手動でキャンセルして再起動してください。 |
|
|
実行中 |
チェックポイントチェック |
Realtime Compute for Apache Flink の以前のバージョンのチェックポイント機能が異常である可能性があり、チェックポイント処理が失敗する可能性があります。 |
|
|
実行中 |
アップストリームサービスおよびダウンストリームサービスの権限検出 |
TCP ポート検出は正常ですが、アップストリームまたはダウンストリームのコネクタが接続されていません。アップストリームサービスとダウンストリームサービスの権限設定を確認してください。 |
|
|
実行中 |
実行ステータスチェック |
TaskManager でメモリ不足 (OOM) エラーが発生しました。デプロイメント設定を確認し、TaskManager のメモリを増やしてください。 |
|
|
キャンセル |
キャンセル速度分析 |
Realtime Compute for Apache Flink の以前のバージョンでは、キャンセルが遅くなっています。デプロイメントを手動でキャンセルして再起動してください。 |
|
|
リスク (デプロイメントの実行に影響はありません) |
設定 |
JobGraph チェック |
デプロイメントは正常に実行されています。ただし、以前のバージョンの設定ファイルが欠落している可能性があります。障害後にデプロイメントを回復できない可能性があります。デプロイメントを手動でキャンセルして再起動してください。 |
|
設定 |
HA ステータスチェック |
デプロイメントは正常に実行されています。ただし、HA が有効になっていません。障害後にデプロイメントを回復できない可能性があります。ドラフトを再度公開してから、デプロイメントを手動でキャンセルして再起動してください。 |
|
|
設定 |
バージョンチェック |
デプロイメントは正常に実行されています。ただし、現在のバージョンの Realtime Compute for Apache Flink で重大な欠陥が検出されています。 |
|
|
実行中 |
チェックポイントチェック |
デプロイメントは正常に実行されています。ただし、Realtime Compute for Apache Flink の以前のバージョンのチェックポイント例外により、潜在的な安定性の問題が発生する可能性があります。 |
|
|
実行中 |
チェックポイントチェック |
デプロイメントは正常に実行されています。ただし、長期間チェックポイントが作成されていません。 |
|
|
実行中 |
キャンセル速度分析 |
デプロイメントは正常に実行されています。ただし、Realtime Compute for Apache Flink の以前のバージョンでキャンセルが遅くなる可能性があるリスクが検出されています。デプロイメントを手動でキャンセルして再起動してください。 |
|
|
実行中 |
ランタイム環境分析 |
ホストマシンでの例外により、デプロイメントがフェイルオーバーしました。フェイルオーバー後、デプロイメントは自動的に復元されます。対処は不要です。 |
|
|
実行中 |
ランタイム環境分析 |
マシンのアップグレードにより、数分以内にデプロイメントがフェイルオーバーする可能性があります。フェイルオーバー後、デプロイメントは自動的に復元されます。これを防ぐには、マシンのアップグレード前にデプロイメントを手動でキャンセルして再起動してください。 |
|
|
実行中 |
ランタイム環境分析 |
ホストマシンでハードウェア障害が発生しました。デプロイメントがフェイルオーバーしました。デプロイメントを手動でキャンセルして再起動してください。 |
|
|
実行中 |
バージョンチェック |
このバージョンはサービス終了 (EOS) です。安定性の問題が発生したり、製品サポートが利用できなくなったりする可能性があります。詳細については、「コンソール操作」をご参照ください。 |
次のステップ
-
実行中のデプロイメントの JobManager および TaskManager のパフォーマンスメトリックを監視します。詳細については、「デプロイメントパフォーマンスの監視」をご参照ください。
-
自動チューニングを設定して、システムがリソースを自動的にまたはスケジュールに従って再設定できるようにします。詳細については、「自動パフォーマンスチューニングの有効化」をご参照ください。
-
デプロイメント設定と SQL ロジックをチューニングして、Flink SQL デプロイメントを最適化します。詳細については、「Flink SQL の最適化」をご参照ください。