AIによる可観測性の革新:ExplainabilityとStorytellingの統合

はじめに

現代の分散型システムでは、可観測性(Observability)はシステムの信頼性と運用効率を確保するための不可欠な技術です。特に、eBayのような超大規模なインフラでは、190市場、2.3億の活発な商品、134億の利用者、13億ドル規模のモバイル取引といった膨大なデータと4,600のマイクロサービスを管理する必要があります。このような環境では、従來の監視ツールでは対応できない課題が生じており、AIを活用した可観測性の革新が求められています。本記事では、AIを駆使した可観測性の実現方法と、その技術的詳細について解説します。

技術の定義と特徴

可観測性の課題

eBayのシステムでは、毎日15PBのログデータ、100億のタイムシリーズデータ、1000萬スパン/秒(採択率2%)という膨大なデータ量を処理しています。このような規模では、従來の人工的な問題検出が困難であり、長く続く呼び出しチェーンの分析やTB規模のログ解析、複數のダッシュボードによる検出が求められます。しかし、このプロセスは高コストかつ低効率であり、AIの導入が不可欠です。

AIによる可観測性の強化

初期の機械學習アプローチでは、異常検出(Grootツール)や自動修復(異常Podの識別)が試みられましたが、LLM(大規模言語モデル)の導入初期には、コンテキストウィンドウの制限やデータ規模の大きさによる幻覚(hallucination)が問題となりました。また、ランダム性の高いAIの出力は緊急時のトラブルシューティングに不向きであり、エンジニアリングの手法と組み合わせる必要がありました。

解決策と技術実裝

キー・パスアルゴリズム

非関係なスパンを除去し、重要なパスを抽出する手法として、UberのCrisp白皮書を參考にしています。また、ダッシュボード分析では、4xxエラーはハードエラーと見なさず、5xxエラーに重點を置くようにしています。さらに、リソースを多く消費するスパンを特定するための「自己時間分析」も導入されています。

データの前処理

サービス名を數値に変換する字典符號化や、トレースを上流・下流に分割して部分的に処理し、後で統合する分塊処理が採用されています。また、LLMへの入力スパン數を制限し、8,000スパンを超えるデータは排除することで、コンテキストの制限を迴避しています。

解説器の種類

  1. トレース解説器:トレースIDを基に、重要なパスを分析し、遅延スパンを特定します。
  2. ログ解説器:ログ內のエラーパターンと遅延トレンドを分析します。
  3. メトリクス解説器:時間系列データの異常とトレンドを識別します。
  4. 変更解説器:アプリケーションの変更內容を分析します。

エンジニアリングとAIの統合

LLMのシンプルな推論と要約能力をAPIで統合し、Open Telemetry標準化やクエリ言語の標準化を推進しています。また、一部のLLM機能をコードで実裝することで、PromQL生成などの代替手段を提供しています。

実際の応用ケース

データベースのクエリ遅延問題では、トレース解説器が遅延スパンを特定し、ログ解説器がタイムアウトの異常を検出しました。また、ダッシュボードでは複數の解説器を組み合わせて、自動化されたトラブルシューティングフローを実現しています。

今後の方向性

可再利用の基礎能力(building block capabilities)の構築、LLMのランダム性を低減するためのAPIの信頼性向上、Open Telemetry標準化とクエリ言語の標準化の推進が今後の課題です。

結論

AIを活用した可観測性は、従來の監視ツールでは対応できない大規模なデータ処理や、緊急時の迅速なトラブルシューティングを可能にします。しかし、LLMのランダム性やデータ規模の制限といった課題も存在します。今後は、エンジニアリングとAIの統合を進め、Open Telemetryなどの標準化を推進することで、より信頼性の高い可観測性を実現していく必要があります。