grafana/promql-anomaly-detection

A framework for anomaly detection using Prometheus and PromQL

解決する課題

このフレームワークは、外部の機械学習システムや複雑なデータパイプラインを必要とせず、Prometheus 内で直接時系列データの異常を検出する方法を提供します。期待される範囲を自動的に計算することで、リクエストレート、レイテンシ、エラー率、リソース使用量などのメトリクスにおける異常な動作を特定するのに役立ちます。

仕組み

このフレームワークは、Prometheus の記録ルールを使用して、過去のデータに基づいた上限と下限である「異常帯(anomaly bands)」を計算します。2 つの主要な戦略をサポートしています。短期的な変化を迅速に検出するための adaptive アプローチ(平均と標準偏差を使用)と、スパイクや非正規分布のデータを処理するための robust アプローチ(中央値と中央値絶対偏差を使用)です。ユーザーはメトリクスに特定のラベル(anomaly_name、anomaly_strategy、anomaly_type)を付与して検出ロジックをトリガーし、実際のメトリクス値が計算された範囲を超えた場合にアラートを生成します。

対象ユーザー

すでに Prometheus と Grafana を監視に使用しており、外部依存関係や専門的な AI/ML インフラストラクチャを導入することなく、自動化された異常検知を実装したい DevOps エンジニア、SRE、システム管理者を対象としています。

ハイライト

  • 標準的な PromQL を使用して Prometheus 内で完全に動作し、外部サービスは不要です。
  • レイテンシやエラー率など、さまざまなメトリクスタイプに合わせて調整された複数の検出アルゴリズムをサポートしています。
  • 異常帯を可視化するための構築済み Grafana ダッシュボードテンプレートが含まれています。
  • 拡張性が高く、ユーザーは特定のインフラストラクチャのニーズに基づいてカスタム記録ルールやアラートルールを定義できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch