[INFRA-02] Grafana Alerting 규칙·contact point 프로비저닝
작업 내용 (설계 의도)
변경 사항
규칙 엔진(ADR-001)을 프로비저닝한다. ⑤ 옵저버빌리티 스택의 Grafana에 alert rule + webhook contact point를 선언형 파일로 추가한다. 근거 TDD: §형제 과제 접점(⑤)·§인터페이스 계약.
- Grafana provisioning 디렉토리에 alerting 규칙(
provisioning/alerting/*.yaml) 신규 — 핵심 트랜잭션 API(결제·예약·티케팅) P95 500ms 5분 초과 규칙(PRD 유저 시나리오 1). 라벨source=latency,severity(지속시간에 따라 warn→critical),endpoint,env. - webhook contact point →
POST /internal/alerts/grafana, 헤더X-Alert-Token. - notification policy: contact point 연결. env 라벨 템플릿(⑤ 재사용).
- ⑤ 소유 파일(observability compose·provisioning)에 추가만 — 기존 대시보드·datasource 미수정(Single Writer 경계).
롤백: contact point 비활성 또는 규칙 파일 revert.
의존
- BE-08 (webhook 엔드포인트 계약 — 코드 배포와 병행 가능, 계약은 TDD 확정본)
- (⑤) Grafana·Prometheus/Loki 데이터소스
다이어그램
처리 흐름
flowchart LR PROM["Prometheus P95"] --> RULE["Grafana alert rule"] RULE --> CP["webhook contact point"] CP --> EP["POST /internal/alerts/grafana"]
테스트 케이스
- P95가 임계를 5분 초과하면 규칙이 firing 상태가 되고 webhook이 발신된다(부하 재현).
- webhook 페이로드에 endpoint/source=latency/severity/env 라벨이 포함된다.
- 임계 미만으로 회복되면 규칙이 resolved로 전이된다.
docker compose ... config·Grafana provisioning 로드가 오류 없이 통과한다.