콘텐츠로 건너뛰기
Telemetry
구조화된 이벤트 SQL 레시피

롤링 기준선을 사용하여 오류율 급증 감지

하나의 영구 임계값에 의존하는 대신 각 시간별 API 오류율을 롤링 7버킷 평균과 비교합니다.

고급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최종 차이는 백분율 변화가 아니라 백분율 포인트입니다.

결정해야 할 극단적인 경우

  • 7시간 기준은 일일 계절성을 모델링하지 않습니다.
  • 누락된 시간 버킷은 누락된 상태로 유지됩니다. 누락된 트래픽을 오류가 없는 것으로 자동으로 처리하지 마십시오.
  • 최소 요청량을 요구하고 상대적 변화와 절대 영향 임계값을 함께 사용하세요.

추천 대시보드

  • 추세: 관찰된 오류율 및 롤링 오류율
  • 막대: 기준선보다 증가
  • 표: 비정상적인 버킷의 경로

알림 안내

증가율과 절대 오류율이 모두 의미 있는 볼륨에서 임계값을 초과하는 경우에만 알림합니다.

알림 설정 읽기

레시피를 활용해 보세요

관련 계측 및 가이드

분석 계속하기

실제 이벤트에서 실행

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기