Alibaba Cloud の Flink インテリジェント診断ツールを理解する - Fllink Job Advisor

序章

Alibaba Cloud のリアルタイム コンピューティング Flink は、プロフェッショナル レベルの高性能リアルタイム ビッグ データ処理システムとして、さまざまなビジネス シナリオで重要な役割を果たしています。豊富で複雑な上流および下流システムにより、リアルタイム データ ウェアハウス、リアルタイム リスク管理、リアルタイム機械学習などのさまざまなアプリケーション シナリオをサポートできます。しかし、システムの複雑さが増すにつれ、ユーザーは日々の使用において、複雑なデータ開発エラーの分析、タスク操作のエラー処理、タスク操作の最適化などの困難な問題に直面することが多くなります。

ただし、エラー ログの分析とリンク全体の異常を診断する機能には一定の欠陥があります。これらの問題は、通常、セルフサービス ロボットで阻止してトラブルシューティングするのが困難です。その結果、ユーザーは作業指示を送信してサポートを求める必要があり、手動によるサービス指示の数が急増し、運用保守チームに大きなプレッシャーがかかります。

これらの問題を解決するために、私たちはデジタル インテリジェンス運用保守ツールである Flink インテリジェント診断 (Advisor) を設計しました。このツールの目標は、Flink のフルマネージド製品を使用するライフサイクル全体でユーザーが遭遇する可能性のあるさまざまな問題を解決することです。Flink インテリジェント診断は、正確なエラー診断と最適化の提案を通じて Flink を使用するユーザー エクスペリエンスを向上させ、手動サービスへの依存を軽減します。

問題の分解

多数の Flink ユーザー ケースの分析を通じて、Flink の一般的な問題をエラー ログ分析、例外分析 (ジョブの現在の操作に影響を与える)、リスク分析 (現在の操作に影響を与えない) の 3 つのカテゴリに分類し、定式化します。彼らのための明確なガイドライン 分析プロジェクト。

エラーログ分析

分析内容は現在のジョブによってスローされたログ スタックであり、分析には次の 2 つの段階が含まれます。

  • 開発フェーズ: 一般的な構文エラー、テーブル スキーマ構成エラーなど、開発状態の例外ログ スタックの分析。
  • 実行フェーズ: アップストリームのバイナリログの有効期限、時間フィールドの Null ダーティ データなど、ジョブの実行中に生成された異常なログ スタックの分析。

異常な分析

主な分析内容は、ジョブの現在の操作に影響を与える問題であり、分析には次の 3 つの段階があります。

  • 起動フェーズ:起動ファイル分析、依存クラウドリソース分析、データソース権限検出、ネットワーク分析、セッションクラスター分析など。
  • 実行 フェーズ:チェックポイントチェック、権限チェック、ステータスチェックなど。
  • 停止フェーズ: 速度解析を停止します。

リスク分析

主な分析内容は、ジョブの動作に影響を与えない問題であり、分析は次の 2 段階で行われます。

  • 設定フェーズ:JobGraphチェック、バージョンチェック、HAチェックなど
  • 実行フェーズ:チェックポイントチェック、ジョブ実行環境チェックなど。

コアテクノロジー

工学構造

画像.png

Flink インテリジェント診断の技術アーキテクチャは、データ層、サービス層、ビジネス層に分かれています。

データ層

診断に必要なリアルタイムデータウェアハウス機能をサービス層に提供し、基本クラスタ(Kubernetes)とプロダクトエンジン(VVP&Flink)の基本データを利用して、ビッグデータ&AIコンピューティングエンジンによるETL、クラスタリング、分析を実行します。そして最後に、インテリジェント プラットフォームのリアルタイム データ ウェアハウスにデータを保存します。これらのデータには、ユーザーの Flink ジョブ ライフ サイクルの完全な観察可能なデータが含まれており、ユーザーのフルマネージド Flink 製品の分析のための基礎となるデータ サポートを提供します。

サービス層

サービス層は、ユーザーの開発時や運用保守時に発生するリアルタイムのログ情報を分析するエラーログ分析サービスと、サービス層が提供するFlinkなど、より自由度の高いデータ分析機能を提供するジョブ診断サービスの2つの機能を提供します。データ層 ライフサイクル全体のデータ。この 2 つの機能は、インターフェイス層を介してエラー ログ診断、ジョブ健全性スコア、およびジョブ深度診断サービスを提供し、ビジネス層にさまざまなジョブ検出機能を提供するための基礎的なサポートを提供します。

  • エラー ログ分析サービス: デジタル インテリジェンス プラットフォームによって提供されるログ クラスタリングおよび推奨アルゴリズムの助けを借りて、Flink ビジネス シナリオに対応するエラー ログ ナレッジ ベースが確立され、ユーザーのエラー情報入力が促進されます-エラー ログ ライブラリ ログのクラスタリング-業界調査/ SRE 分析 - ログ マーキング - ユーザーに解決策を提供するエラー ログ分析方法の完全なセット。従来の作業指示方法と比較して、エラー ログ診断サービスは、ユーザーの問題が生産研究に直接到達するチャネルを開き、ユーザーが高品質のエラー報告問題を解決するのに真に役立ち、ユーザーの問題解決の効率を向上させます。ログ クラスタリング機能を導入することにより、エラー ログ診断サービスは、定期的な照合による従来のログ分析シナリオが直面する情報適合精度と大規模な情報重複排除の問題を解決します。ログ クラスタリングに関するその他の詳細については、技術革新のセクションで詳しく説明します。
  • ジョブ診断サービス: スケジューリング エンジンはインテリジェント診断の頭脳であり、データ層で Flink のライフサイクル全体のデータを読み取ることにより、定期的に学習し、ローテーションで決定木を実行し、診断結果を生成します。デシジョン ツリーには、ジョブ エラーのレポート、ジョブのパフォーマンス、ジョブの構成、根本的な動作環境のリスクなどを含む、Flink 製品の磨き上げのために Flink プロダクション リサーチ/SRE が数年間にわたって蓄積した専門家の経験が含まれています。これらの操作で直面するリスクは、ユーザーが完全に管理された O&M 不要の製品エクスペリエンスを実現できるように、いくつかの診断項目の形式でインターフェイス層に開示されます。

ビジネス層

さまざまな形式の Flink 診断データは、インターフェイス層を呼び出すことによってカプセル化され、VVP (Alibaba Cloud のリアルタイム コンピューティング Flink ユーザー オペレーション コンソール)、DingTalk Q&A ロボット、ABM 診断などのマルチエントリ データ クエリ機能が実現されます。さまざまなユーザーが上記の入り口を通じて Flink ジョブの異常情報と解決策を取得し、最終的に端末がジョブの異常を解決して Flink リアルタイム コンピューティング製品が安定かつスムーズに動作するのを支援します。写真Flink インテリジェント診断のログ クラスタリングと推奨部分のアルゴリズム側の全体的なリンクは図に示されており、全体は 2 つの段階に分かれています。

  1. 知識の蓄積: 大量のログに直面して、重要な情報がアルゴリズムを通じて抽出され、知識ベースに蓄積されます。
  2. ログ診断: エラー ログの内容を通じて、ナレッジ ベースから対応する原因と解決策を突き合わせます。

主に次の 2 つのコア機能を提供します。

  1. 診断機能: 対応する原因と解決策をエラー ログにリアルタイムで照合し、ログ診断機能を提供します。
  2. 自動分析機能: ミスエラーログを定期的に分析して、エキスパートエクスペリエンスの統合効率を向上させます。

技術革新

診断能力

ログのリアルタイム診断における最大の問題は、ログの数が膨大で情報の断片化が激しく、重要な情報を効率的に抽出できないことです。この問題を解決するために、Advisor は Flink エラー ログのログ ナレッジ ベースを確立し、アルゴリズムを通じてログ内の情報を抽出し、専門家の経験に基づいてそれらを集約して重要な情報を蓄積しました。ログ クラスタリング アルゴリズムの主なプロセスは次のとおりです。

  1. 冗長情報のクリーニング [ログの前処理とエンコード]: 非構造化情報を削除し、情報の干渉を軽減します。
  2. ログ特徴の構築 [単語分割と特徴選択]: ログ特徴を抽出し、ログを構造化表現に変換します。
  3. 階層的クラスタリング: ログ特徴間の類似性に基づいてログを集約します。
  4. 結合されたラベル付け: 専門家の経験と組み合わせてカテゴリを調整および改良し、結果の精度を向上させます。

画像.pngログ診断アルゴリズム サービスがトリガーされると、アルゴリズムの照合ロジックは次のようになります。

  1. ルール: Flink 生産調査/SRE の事前定義されたルールに従って、対応する理由と解決策の一致を優先します。
  2. アルゴリズム: ログの内容とナレッジ ベースのカテゴリ間の類似性を計算してログを分類し、対応する理由と解決策を示します。

ログ診断に関連する原則については、Flink ML に基づくインテリジェントな運用および保守アルゴリズム サービスとアプリケーションを参照してください。ログ クラスタリングをさらに詳しく体験する必要がある場合は、SREWorks オープン ソース ログ クラスタリング アルゴリズムSREWorks v1.5を参照してください。release | リアルタイム操作プラットフォームをベースにしたログ クラスタリングはオープン ソースです

自動分析機能

専門家の経験の統合と製品化の敷居を下げ、業界と研究の共同構築の効率を向上させるために、Advisor は自動ログ分析機能を構築しました。

  1. 製品ミスに関するエラーログ情報を定期的に収集します。
  2. ナレッジベースに蓄積された結果と専門家の経験を組み合わせて、ヒットしなかったエラーログをクラスタリングし、大量のログを限られた数のログカテゴリに集約します。
  3. カテゴリの通話頻度で並べ替える

自動ログ分析機能によってもたらされる主な利点は次のとおりです。

  1. リアルタイム: 業界調査や SRE がログの一致状況をリアルタイムで認識するのに役立ちます。
  2. 効率性: 製品が現在解決できないログ カテゴリを明確に示し、製品機能を改善するための明確な方向性を示します。同時に、アルゴリズムは既存のルールの欠陥を分析して、ギャップをチェックし、ギャップを埋めることもできます。
  3. 低いしきい値: アルゴリズムにより大量のログが重複排除され、キーワードが与えられるため、ラベル付けのコストと生産調査のしきい値が削減されます。

機能戦闘

開発状況エラーログ解析

Flink フルマネージド開発コンソールのジョブ開発ページでは、開発状態のエラー ログ分析を使用できます。

  1. リアルタイム コンピューティング コンソールにログインします。
  2. [Flink Fully Managed]タブで  、 ターゲット ワークスペースの[Operation]列 の下にある [Console]をクリックします 。
  3. 左側のナビゲーション バーで、  [アプリ]  >  [求人開発]を選択します。
  4. SQL を記述した後、「検証」をクリックしてエラー ログの分析を表示します。

リアルタイム コンピューティング コンソール:
https://realtime-compute.console.aliyun.com/console/cell

画像.png

健康スコアを表示する

Flink フルマネージド開発コンソールのジョブの操作とメンテナンスのページで、ジョブのヘルス スコアを表示できます。

  1. リアルタイム コンピューティング コンソールにログインします。
  2. [Flink Fully Managed]タブで  、 ターゲット ワークスペースの[Operation]列 の下にある [Console]をクリックします 。
  3. 左側のナビゲーション バーで、  [アプリケーション]  >  [ジョブの運用とメンテナンス]を選択します 。
  4. 以下の情報をご覧いただけます。

リアルタイム コンピューティング コンソール:
https://realtime-compute.console.aliyun.com/console/cell

画像.png

実行状態のログ分析を表示する

Flinkフルマネージド開発コンソールのジョブ運用・保守ページでは、開発状態のエラーログ分析を利用できます。

  1. リアルタイム コンピューティング コンソールにログインします。
  2. [Flink Fully Managed]タブで  、 ターゲット ワークスペースの[Operation]列 の下にある [Console]をクリックします 。
  3. 左側のナビゲーション バーで、  [アプリケーション]  >  [ジョブの運用とメンテナンス]を選択します 。
  4. 対象のジョブ名をクリックします。
  5. ジョブの詳細ページで、 スタンドアロン ジョブを確認します。
  6. 左側で、実行ログ、起動ログ、例外情報を切り替えて、実行状態のログ分析を表示できます。

リアルタイム コンピューティング コンソール:
https://realtime-compute.console.aliyun.com/console/cell

写真

ジョブの診断

Flink フルマネージド開発コンソールのジョブの操作とメンテナンスのページでは、診断機能を使用して、ジョブの詳細なリスク原因とプラットフォームによって提供される提案を表示できます。

  1. リアルタイム コンピューティング コンソールにログインします。
  2. [Flink Fully Managed]タブで  、 ターゲット ワークスペースの[Operation]列 の下にある [Console]をクリックします 。
  3. 左側のナビゲーション バーで、  [アプリケーション]  >  [ジョブの運用とメンテナンス]を選択します 。
  4. 対象のジョブ名をクリックします。
  5. ジョブの詳細ページの右上隅にある「診断」をクリックします。
    写真
  6. ページの左側で、診断結果と最適化の提案を確認します。
    写真

要約する

Flink のインテリジェント診断の中核機能は主に次の点に反映されています。 1. 製品エクスペリエンス: 製品コンソールの開発では、第 2 レベルのリアルタイム エラー レポートおよび診断機能が導入され、開発状態から開発段階までのジョブのプロセス全体がカバーされます。ユーザーが自分で問題を解決するのに便利で、人件費を削減できる運用保守状態。2. 技術革新: ログ クラスタリングと推奨アルゴリズムを使用して従来の正規表現を置き換えます。これにより、大規模なログの「重複排除」の問題が解決されるだけでなく、専門家のビジネス経験の統合しきい値が大幅に削減されます。3. 根本原因の提案: 異常なシナリオをカバーし、100% 正確に一致する異常原因の診断と解決策を提供し、ホット アップデートを迅速にリリースして即時有効にします。4. 生産と研究の共同構築: インテリジェント診断は、SRE、研究開発、サービス チーム、製品チームの共同構築の結果であり、フルリンクの専門家の経験を製品化した結果であり、正常なシステムを形成しています。継続的な反復的な最適化を保証するための運用および保守メカニズム。Flink のインテリジェント診断が開始されて以来、ユーザー PV や問題範囲などのいくつかの側面で段階的に良好な結果を達成してきました。

  • 各 Flink ユーザーは 1 日あたり平均 3.5 回診断を使用します。
  • 運用保守コンサルティング業務(エラーログと異常動作)の受注は28%減少した。
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/5583868/blog/9874760