跳至主要內容
Telemetry
結構化事件 SQL查詢範例

使用滾動基線檢測錯誤率峰值

將每小時 API 錯誤率與滾動七桶平均值進行比較,而不是依賴一個永久閾值。

高階api_requests已審查 2026-07-27測試用 阿帕奇 DataFusion 45.2.0

審閱者 Telemetry產品團隊 . SQL 相容性、事件契約、合成輸出和操作注意事項. 審查標準和所有權

問題已回答

哪些每小時錯誤率遠高於其最近的基線?

固定閾值會錯過不同正常級別的服務。滾動基線使相對變化可見,同時保留原始速率和數量。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp請求完成時間。
status_codeInt64HTTP 回應狀態程式碼。
DataFusion SQL

複製查詢

sql
WITH hourly AS (
  SELECT
    date_trunc('hour', timestamp_utc) AS hour,
    COUNT(*) AS requests,
    100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
      / NULLIF(COUNT(*), 0) AS error_rate_pct
  FROM api_requests
  WHERE timestamp_utc >= now() - INTERVAL '72 hours'
  GROUP BY date_trunc('hour', timestamp_utc)
),
baseline AS (
  SELECT
    hour,
    requests,
    error_rate_pct,
    AVG(error_rate_pct) OVER (
      ORDER BY hour ROWS BETWEEN 7 PRECEDING AND 1 PRECEDING
    ) AS previous_seven_avg_pct
  FROM hourly
)
SELECT
  hour,
  requests,
  error_rate_pct,
  previous_seven_avg_pct,
  error_rate_pct - previous_seven_avg_pct AS increase_pct_points
FROM baseline
WHERE previous_seven_avg_pct IS NOT NULL
ORDER BY hour;

此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。

查詢結果

每小時錯誤率增加超過基線

13:00 時段是與近期滾動平均值唯一明顯的正偏差。

hourrequestserror_rate_pctprevious_seven_avg_pctincrease_pct_points
12:0018,4200.310.280.03
13:0019,1101.420.31.12
14:0018,7800.480.460.02

綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。

Hourly error-rate increase above baseline:來自 Detect Error-Rate Spikes With a Rolling Baseline 範例結果的合成 increase_pct_points 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

JSON 包包含型別化事件契約, illustrative 輸入行、確切的 SQL、預期輸出、審閱註釋和引擎版本。 CSV 包含顯示的結果。

SQL 是如何工作的

  1. 1每小時 CTE 計算與其分母的比率。
  2. 2該視窗在前一個視窗結束,因此當前尖峰無法提高其自己的基線。
  3. 3最終的差異是百分點,而不是百分比變化。

需要決定的邊緣情況

  • 七小時基線並不模擬每日季節性。
  • 缺失的時間段依然缺失;不要默默地將丟失的流量視為零錯誤。
  • 要求最小請求量並將相對變化與絕對影響閾值相結合。

推薦儀表板

  • 趨勢:觀察到的錯誤率和滾動錯誤率
  • 條形圖:增加至基線以上
  • 資料表:異常桶中的路由

警示指導

僅當增量和絕對錯誤率均超過有意義量的閾值時才發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

建立資料表,調整欄位並儲存結果

免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。

獲取 API 金鑰