# メトリクス削減 ## 定義 メトリクス削減(Metric Reduction)は、分散システムの多数のコンポーネントが公開するメトリクス時系列から、情報損失を最小限に抑えながらモニタリングや意思決定に必要な代表的なサブセットを選択する手法である。目的は「情報過負荷(information overload)」の解消と監視インフラのコスト削減にある。Netflix(200 万メトリクス)・Uber(5 億メトリクス超)のような大規模マイクロサービス環境では、全メトリクスを収集・保存・分析することは非現実的かつコスト高となる。([[@2017__arXiv__Sieve - Actionable Insights from Monitored Metrics in Microservices]]) 主要なアプローチ: - **フィルタリング**: 低分散・不変メトリクスを除去する(var ≤ 閾値) - **クラスタリング**: 類似挙動のメトリクスをグループ化し代表を選ぶ(k-Shape, k-means, k-medoids, ファジーロジック) - **サンプリング**: 偏りサンプリング・近似計算で密度を保ちながら削減する - **次元圧縮**: PCA・ランダム射影で線形空間に写像する(解釈性は低下) ## 横断的知見 - **クラスタリングによる削減は解釈可能性と精度のバランスで PCA より優れる**: Sieve は k-Shape クラスタリングで代表メトリクスを選択し、PCA との差別化として「開発者が視覚的に検証可能」な結果を強調する。一方 PCA は削減後の成分が原次元に対応しないため、どのシステムリソースが問題かを人間が判断しにくい。単一ソースからの観察だが、この設計選択は AIOps のより広い原則——「モデルの精度だけでなく説明可能性が運用上の信頼に直結する」——を示す。(Source: [[@2017__arXiv__Sieve - Actionable Insights from Monitored Metrics in Microservices]]) ## 未解決の問い - **動的な本番環境でのリアルタイムメトリクス削減**: Sieve はオフライン分析(ワークロードジェネレータでの負荷テスト後)を前提とする。本番トラフィックを使った継続的なモデル更新はどう設計するか。新しいコンポーネントやメトリクスが追加された際のインクリメンタルな更新手法は何か。 - **最適なクラスタ数の自動決定**: Sieve はシルエット値でクラスタ数を決定するが、最大 7 クラスタを実験的に設定している。より大規模なシステム(数千コンポーネント・数億メトリクス)での自動決定手法は有効か。 - **メトリクス削減と依存グラフ品質のトレードオフ定量化**: 削減率を上げるほど Granger 因果性テストの精度が低下するか。どの削減率が依存グラフ品質の下限を形成するか。 - **異なる削減手法の組み合わせ効果**: フィルタリング + クラスタリング + Granger 因果をパイプラインで組み合わせた場合の相互作用は。各段での削減率の最適配分は。 ## 関連 - ソース: [[@2017__arXiv__Sieve - Actionable Insights from Monitored Metrics in Microservices]] - 概念: [[マイクロサービスアーキテクチャ]] / [[因果推論ベースRCA]] / [[オブザーバビリティ]] / [[異常検知]] / [[Scaling Telemetry Workloads]] - エンティティ: [[Jörg Thalheim]] / [[Pramod Bhatotia]] ## 出典 - [[@2017__arXiv__Sieve - Actionable Insights from Monitored Metrics in Microservices]] (§3.2 Reduce Metrics, Table 3, Figure 4)