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] ページでは、ヘルススコア (たとえば 99) と診断時間を確認できます。[Diagnose] をクリックすると、診断チェックが実行されます。結果には、チェックされた項目の総数 (たとえば 5) が表示され、[Resource Analysis] などのカテゴリは注意を要しますが、[Startup Analysis]、[Deployment Analysis]、[State Analysis]、[Exception Analysis] は診断チェックに合格しています。
-
-
[Diagnose] をクリックします。診断項目と修正手順の完全なリストについては、「Flink Advisor の診断項目」をご参照ください。
-
診断結果と最適化案を確認します。提案を適用するには、その横にある [Apply] をクリックします。
Flink Advisor の診断項目
診断項目は 2 つのカテゴリに分類されます:
-
[例外]:デプロイメントの実行に影響があります。直ちに対応が必要です。
-
リスク:デプロイメントは現在実行中ですが、潜在的な問題が検出されています。将来の障害を防ぐために、事前に対応してください。
|
タイプ |
フェーズ |
診断項目 |
説明 |
|
[例外] (デプロイメントの実行に影響あり) |
起動 |
起動ファイル分析 |
Object Storage Service (OSS) のディレクトリに必要な JAR パッケージがありません。デプロイメントを開始する前に 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 の最適化」をご参照ください。