[論文レビュー] Sieve: Actionable Insights from Monitored Metrics in Microservices
Sieveは、Granger因果性を用いてメトリクスの次元削減と因果的依存関係の推定を行うことで、マイクロサービスにおける監視メトリクスから実行可能なイン사이트を導出するプラットフォームです。メトリクスを10〜100倍に削減し、ストレージで最大90%、CPUで最大80%のシステムオーバーヘッドを削減し、インストルメンテーションや事前の知識が不要な状態で、効果的なオートスケーリングと障害原因分析を可能にします。
Major cloud computing operators provide powerful monitoring tools to understand the current (and prior) state of the distributed systems deployed in their infrastructure. While such tools provide a detailed monitoring mechanism at scale, they also pose a significant challenge for the application developers/operators to transform the huge space of monitored metrics into useful insights. These insights are essential to build effective management tools for improving the efficiency, resiliency, and dependability of distributed systems. This paper reports on our experience with building and deploying Sieve - a platform to derive actionable insights from monitored metrics in distributed systems. Sieve builds on two core components: a metrics reduction framework, and a metrics dependency extractor. More specifically, Sieve first reduces the dimensionality of metrics by automatically filtering out unimportant metrics by observing their signal over time. Afterwards, Sieve infers metrics dependencies between distributed components of the system using a predictive-causality model by testing for Granger Causality. We implemented Sieve as a generic platform and deployed it for two microservices-based distributed systems: OpenStack and ShareLatex. Our experience shows that (1) Sieve can reduce the number of metrics by at least an order of magnitude (10 - 100$ imes$), while preserving the statistical equivalence to the total number of monitored metrics; (2) Sieve can dramatically improve existing monitoring infrastructures by reducing the associated overheads over the entire system stack (CPU - 80%, storage - 90%, and network - 50%); (3) Lastly, Sieve can be effective to support a wide-range of workflows in distributed systems - we showcase two such workflows: orchestration of autoscaling, and Root Cause Analysis (RCA).
研究の動機と目的
- 高次元の監視メトリクスをマイクロサービス管理のための実行可能なインサイトに変換する課題に対処すること。
- 統計的関連性を損なわずに監視対象メトリクスの数を削減し、監視のオーバーヘッドを最小限に抑えること。
- 分散コンポONENT間のメトリクス間に因果的関係を推定することで、システム管理ワークフローを支援すること。
- インストルメンテーションやアプリケーション固有の知識が不要な状態で、既存の監視データから一般化可能なインサイトを導出できること。
- オートスケーリングや障害原因分析といった重要なDevOpsワークフローを、推定されたメトリクス依存関係を用いて支援すること。
提案手法
- Sieveは、時間的信号強度と分散を分析することで、重要でないメトリクスをフィルタリングするメトリクス削減エンジンを採用している。
- Granger因果性に基づく予測的因果モデルを用いて、異なるコンポONENTのメトリクス間の因果関係を推定している。
- システムは事前のメトリクス時系列やアプリケーションの意味論に関する知識が不要な非教師あり形式で動作する。
- 実世界のマイクロサービス上で推定された因果モデルの妥当性を検証するために、ワークロードジェネレーターや本番トレースを用いている。
- OpenStackおよびShareLatexにデプロイされたことで、多様なシステム環境におけるスケーラビリティと適応性が実証された。
- 監視対象システムの変更やインストルメンテーションが不要な状態で、既存の監視スタックと統合可能である。
実験結果
リサーチクエスチョン
- RQ1統計的関連性を保持しつつ、マイクロサービスにおける監視メトリクスの次元を自動的に低減する方法は何か?
- RQ2時系列データのみを用いて、分散コンポonent間の意味のある因果的依存関係を推定できるか?
- RQ3メトリクスの削減と依存関係推定によって、実世界のシステムにおける監視オーバーヘッドはどの程度削減可能か?
- RQ4推定されたメトリクス依存関係は、オートスケーリングや障害原因分析といった実世界の管理ワークフローを効果的に支援できるか?
- RQ5このようなシステムを、一般化可能で非侵襲的かつ教師なしの方法で、多様なマイクロサービスアーキテクチャに展開できるか?
主な発見
- Sieveは、完全なメトリクスセットと統計的に同等の状態を維持しながら、監視対象メトリクスの数を10倍から100倍に削減した。
- システム全体のスタックにおいて、CPUのオーバーヘッドを最大80%、ストレージを最大90%、ネットワーク使用量を50%削減した。
- 推定された因果モデルにより、リソース要件を引き起こす重要なメトリクスを特定し、効果的なオートスケーリングが可能になった。
- 障害原因分析を支援するため、最初に逸脱を示したメトリクスを特定することで、障害診断を迅速化した。
- OpenStackおよびShareLatexでの実証により、Sieveのアプローチが異なるマイクロサービスシステムに一般化可能で再利用可能であることが示された。
- システムはインストルメンテーションや事前の知識に依存せず、観測されたメトリクス時系列データのみに依存して動作した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。