grafana/promql-anomaly-detection

A framework for anomaly detection using Prometheus and PromQL

解決的問題

此框架提供了一種直接在 Prometheus 內使用 PromQL 檢測時序資料異常的方法,無需依賴外部異常檢測系統。

工作原理

該系統使用一組記錄規則,為指標建立上下兩個「異常帶」。這些帶透過不同策略計算:

  • 自適應策略:使用平均值與標準差,並結合平滑函數與高通濾波器,檢測短期變化,同時減少對重複事件的誤報。
  • 穩健策略:使用中位數與中位數絕對偏差(MAD),以處理脈衝式或非常態分佈的資料,並檢測長期變化。

這些帶結合短期波動性、季節性(日或週模式)以及邊距帶,確保最小寬度。當指標在顯著持續時間內跨越這些帶時,告警規則將觸發。

適用對象

希望對請求率、延遲、錯誤率和資源使用率等指標實現自動化異常檢測,但又不想增加新基礎設施的 Prometheus 與 Grafana 使用者。

特點

  • 無外部依賴:完全在 Prometheus/PromQL 生態系統內運行。
  • 支援季節性:可適應重複的日或週模式。
  • 靈活策略:根據資料分佈提供自適應與穩健兩種演算法。
  • Grafana 集成:支援在時序面板上直接疊加異常帶以進行可視化。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案