경보 요동 줄이기
경보 요동 줄이기 (Reduce alert flapping)
모니터를 운영하다 보면 자주 마주치는 문제가 경보 피로(alert fatigue), 또는 경보가 '요동치는(flap)' 현상이에요. 요동이란 경보가 'ok' 상태와 'alert' 상태를 빠르게 오가는 것을 말해요.
Datadog에는 경보를 덜 시끄럽고 더 의미 있게 만들어 주는 기능들이 있어요. 아래 방법들을 활용하면 요동을 크게 줄일 수 있어요.
출처: 문서
본문
-
Alert 임계값 재평가하기 (Re-Evaluate the Alert Threshold Value)
- alert ↔ ok 상태 전환이 잦을 때 요동을 줄이는 가장 쉬운 방법은 임계값 조건을 올리거나 내리는 거예요.
-
min임계값 사용하기 (Use theminthreshold)- 이 임계값은 해당 시간대의 메트릭 모든 데이터 포인트가 임계값을 위반할 때만 경보를 발생시켜요.
-
함수를 이용해 쿼리 다시 구성하기 (Reframe the query using Functions) - 레이트(rate), 이동 평균(moving average), 타임시프트 미분(time-shift differential) 사용
- 이를 통해 메트릭 스트림의 현재 값과 일주일 전 값을 비교하고, 그 차이를 기준으로 경보 조건을 설정할 수 있어요.
- 타임시프트 미분은 여러 함수를 결합할 수 있게 해주고 과거 시점도 함께 볼 수 있게 해줘요. 예를 들어
abs(system.cpu.system{*} - week_before(system.cpu.system{*}))처럼요. - 메트릭이 자주 급등(spike)하고 그 급등이 본질적으로 문제를 의미하지 않는다면, 레이트나 평균을 적용해서 더 의미 있는 임계값을 설정할 수 있어요.
-
복합 경보(Composite alerts)로 다른 모니터의 상태 고려하기 (Consider the states of other monitors using Composite alerts)
- 복합 모니터 (Composite Monitor)는 이전에 만들어 둔 두 개 이상의 경보를 결합할 수 있게 해줘요. 예를 들어 한 호스트에서 CPU가 높고 AND 디스크도 높을 때 경보를 발생시키는 식이에요.
-
내장 분석 모듈인 Anomaly나 Outlier 사용하기 (Use some built-in analysis modules with Anomaly or Outlier)
- 이상 탐지 (Anomaly Detection)는 계절성(seasonality) 분석을 이용해서 데이터 스트림이 역사적으로 일관되지 않게 동작할 때 경보를 발생시켜요.
- 이상치 탐지 (Outlier Detection)는 같은 맥락의 다른 데이터 스트림을 이용해서 한 스트림이 다른 스트림들과 다르게 동작할 때 경보를 발생시켜요.
- 두 기능 모두 복합 경보(Composite alerts)와 함께 사용할 수도 있어요.
만약 문제가 경보 라우팅이라면, 템플릿 변수 (template variables)와 조건부 변수 (conditional variables)로 warning 상태와 alert 상태를 분리하는 방법이 도움이 될 거예요!