TestData 알림

TestData 알림 (TestData alerting)

TestData 데이터 소스는 Grafana Alerting을 지원해요. 외부 데이터 소스에 연결하지 않고도 알림 규칙을 프로토타이핑하고, 임계값 조건을 테스트하며, 알림 파이프라인을 검증할 수 있죠. 특히 예측 가능한 패턴으로 알림 동작을 재현성 있게 테스트하는 데 유용해요.

출처: 문서

본문

시작하기 전에

알림용 시나리오 선택

시계열 데이터를 반환하는 TestData 시나리오는 알림 규칙 조건과 함께 동작해요. 테스트하려는 동작에 따라 시나리오를 선택하세요:

Scenario Alerting use case
Predictable Pulse 결정적 on/off 패턴. 고정 주기로 반복 가능한 알림 발동·해소 생성.
Random Walk 비결정적 시계열. 빠른 프로토타이핑과 알림 평가 부하 테스트에 유용.
CSV Metric Values 제어된 고정 값. 정확한 임계값 경계 테스트.
Predictable CSV Wave 커스텀 반복 파형. 정밀한 제어로 복잡한 임계값 패턴 테스트.
Random Walk (with error) 데이터와 오류를 함께 반환. 알림이 부분 실패를 처리하는 방식 테스트.
Error with source 플러그인 또는 다운스트림 오류 반환. 알림 평가 오류 처리 테스트.
No Data Points 빈 결과 반환. no-data 알림 조건 테스트.
Slow Query 구성 가능한 지연 도입. 알림 평가 타임아웃 테스트.

로그·트레이스·스트리밍 데이터를 만드는 시나리오는 임계값 기반 알림 조건에 적합하지 않아요.

알림 규칙 만들기

  1. Alerting > Alert rules로 이동해요.
  2. New alert rule을 클릭해요.
  3. 규칙 이름을 입력해요.
  4. TestData 데이터 소스를 선택해요.
  5. Scenario 드롭다운에서 시나리오를 선택해요 (예: Predictable Pulse).
  6. 시나리오 옵션을 구성해요.
  7. 시리즈를 집계하는 Reduce 표현식을 추가해요 (예: Last value).
  8. 조건을 정의하는 Threshold 표현식을 추가해요 (예: Is above 0.5).
  9. 평가 간격과 pending 기간을 설정해요.
  10. 알림과 라벨을 구성해요.
  11. Save rule을 클릭해요.

자세한 절차는 "Create a Grafana-managed alert rule" 문서를 참고하세요.

예제: Predictable Pulse 알림

Predictable Pulse 시나리오는 반복적인 on/off 파형을 생성하는데, 발동 패턴이 결정적이고 재현 가능해서 알림 규칙 테스트에 이상적이에요.

  1. Predictable Pulse 시나리오를 선택해요.
  2. 펄스 옵션을 구성해요:
Field Value Effect
Step 60 60초마다 데이터 포인트 하나.
On Count 3 "on" 값에서 연속 3개 포인트.
Off Count 6 "off" 값에서 연속 6개 포인트.
On Value 1 "on" 단계 중 값.
Off Value 0 "off" 단계 중 값.
  1. 함수 Last로 Reduce 표현식을 추가해요.
  2. Threshold 표현식을 추가해요: Is above 0.5.

이 구성에서 알림은 3분(3×60s on 포인트) 동안 발동하고 6분(6×60s off 포인트) 동안 해소되며 무한정 반복돼요. step, on count, off count를 조정해 타이밍을 제어할 수 있어요.

예제: CSV Metric Values 임계값 알림

CSV Metric Values 시나리오는 데이터 포인트의 정확한 시퀀스를 정의하게 해줘서 정밀한 임계값 경계 테스트에 유용해요.

  1. CSV Metric Values 시나리오를 선택해요.
  2. String Input 필드에 쉼표로 구분된 값 목록을 입력해요. 예:
10,45,70,95,50,20
  1. 함수 Last로 Reduce 표현식을 추가해요.
  2. Threshold 표현식을 추가해요: Is above 80.

이 입력에서 시리즈는 10, 45, 70, 95, 50, 20 값을 순환해요. 알림은 감소된 값이 80(95 데이터 포인트)을 초과할 때 발동하고 임계값 아래로 떨어지면 해소돼요. 이 방식은 임계값 조건이 기대한 정확한 경계에서 발동하는지 검증하는 데 유용해요.

오류와 no-data 조건 테스트

TestData에는 알림이 실패에 어떻게 대응하는지 테스트하는 시나리오가 포함돼 있어요. 프로덕션 데이터 소스에 연결하기 전에 알림 규칙이 엣지 케이스를 올바르게 처리하는지 검증하세요.

No data: No Data Points 시나리오를 선택해요. 백엔드가 빈 결과를 반환해 알림 규칙의 no data 상태를 트리거해요. 규칙이 데이터 없음 시 알림·마지막 상태 유지·해소 중 무엇을 하도록 구성했는지 검증하세요. 이 동작은 알림 규칙의 "No data and error handling" 섹션에서 구성해요.

Errors: Error with source를 선택하고 오류 유형을 골라요.

  • Plugin — 플러그인 자체의 실패를 시뮬레이션해요. 알림이 오류 상태로 들어가요.
  • Downstream — 데이터 소스나 네트워크의 실패를 시뮬레이션해요. 알림이 downstream 분류로 오류 상태에 들어가요.

또한 Random Walk (with error)를 사용해 오류와 함께 유효한 데이터를 반환하게 해, 알림 엔진이 부분 실패를 처리하는 방식을 테스트할 수 있어요.

Timeouts: Slow Query를 선택하고 String Input 필드를 평가 간격보다 긴 지속 시간으로 설정해요 (예: 10초마다 평가되는 규칙에 30s). 기본 지연은 5s예요. 타임아웃 동작을 검증하고 쿼리가 너무 오래 걸릴 때 알림이 예상 상태로 전환되는지 확인하세요.

제한 사항

  • 알림 쿼리에서 템플릿 변수 미지원: Grafana는 대시보드 컨텍스트 없이 백엔드에서 알림 규칙을 평가하므로 $varname 같은 템플릿 변수가 알림 평가 중 해석되지 않아요. 시나리오 옵션에 고정 값을 사용하세요.
  • 알림 조건과 함께 동작하는 시나리오는 시계열뿐: 알림 조건은 숫자 시계열 데이터를 요구해요. 로그(Logs), 트레이스(Trace), 그래프(Node Graph, Flame Graph), 어노테이션(Annotations), 테이블(Table Static)을 만드는 시나리오는 알림 조건으로 쓸 수 없어요.
  • 스트리밍 시나리오는 알림 엔진이 평가하지 않음: 알림 엔진은 고정 간격으로 쿼리를 평가하며 스트리밍 데이터를 소비하지 않아요. 알림 규칙에 스트리밍이 활성화된 Streaming Client, Grafana Live, Simulation 사용을 피하세요.

더 알아보기 (Learn more)