알림 정책 구성
알림 정책 구성 (Configure notification policies)
알림 정책(notification policies)은 알림이 연락처(contact points)로 어떻게 라우팅되는지 결정해요. 정책은 트리 구조를 가지며, 각 정책은 하나 이상의 자식 정책과 라벨 매처(label matchers) 세트를 가질 수 있어요. 각 알림(또는 알림 인스턴스)은 기본 정책과 각 자식 정책에 의해 평가되며, 알림 라벨을 정책의 라벨 매처와 일치시켜 적절한 정책으로 라우팅돼요.
출처: 문서
본문
알림 인스턴스가 알림 정책에 지정되면 정책은 다음을 담당해요:
- 비슷한 알림을 그룹화: 알림 수를 최소화.
- 타이밍 옵션으로 알림 전송 시점 제어.
- 알림을 받을 contact points 결정.
Note: 기본 알림 정책과 그 자식 정책은 특정 Alertmanager에 지정되며, 다른 Alertmanager의 contact points나 mute timings를 사용할 수 없어요.
기본 알림 정책 편집
- 왼쪽 메뉴에서 Alerts & IRM을 클릭한 뒤 Alerting을 클릭해요.
- Notification configuration을 클릭한 뒤 Notification policies 탭을 선택해요.
- Choose Alertmanager 드롭다운에서 외부 Alertmanager를 선택해요. 기본적으로 Grafana Alertmanager가 선택돼 있어요.
- Default policy 섹션에서 ... -> Edit을 클릭해요.
- Default contact point에서 알림 규칙이 특정 정책과 일치하지 않을 때 알림을 보낼 contact point를 업데이트해요.
- Group by에서 알림을 그룹화할 라벨을 선택해요. 여러 알림이 이 정책과 일치하면 선택한 라벨로 그룹화되고 그룹별로 알림이 전송돼요.
- Timing options에서 알림 전송 시점을 구성하는 타이밍 옵션을 설정해요:
- Group wait: 새 알림 그룹의 첫 번째 알림을 보내기 전 대기 시간. 기본 30초.
- Group interval: 알림 그룹의 변경 사항에 대한 알림을 보내기 전 대기 시간. 기본 5분.
- Repeat interval: 마지막 알림 이후 그룹이 변경되지 않았을 때 다시 알림을 보내기 전 대기 시간. 기본 4시간.
- Save를 클릭해 변경 사항을 저장해요.
자식 정책 추가
기본 정책 아래나 기존 자식 정책 아래에 자식 정책을 만들 수 있어요. 형제 정책 위치를 정하고 싶다면 "Add a sibling policy" 섹션을 참고하세요.
- 왼쪽 메뉴에서 Alerts & IRM을 클릭한 뒤 Alerting을 클릭해요.
- Notification configuration을 클릭한 뒤 Notification policies 탭을 선택해요.
- Choose Alertmanager 드롭다운에서 Alertmanager를 선택해요. 기본적으로 Grafana Alertmanager가 선택돼 있어요.
- 기본 정책이나 기존 자식 정책에서 +New child policy를 클릭해요.
- Matching labels 섹션에서 하나 이상의 매칭 라벨 규칙을 추가해 부모 정책에서 특정 경우를 좁혀요. 예를 들어 기본 정책의 자식 정책이
team=security알림을 처리하거나, 부모 정책의severity=critical알림만 처리할 수 있어요. - Contact point 드롭다운에서 알림을 보낼 contact point를 선택해요. 비워두면 부모 정책의 contact point가 상속돼요.
- 선택: Continue matching subsequent sibling nodes를 활성화하면 알림이 현재 정책과 일치한 뒤에도 형제 정책을 계속 매칭해요. 활성화하면 여러 정책이 같은 알림을 처리할 수 있어요.
- 선택: Override grouping을 활성화해 부모 정책과 다른 그룹화를 설정해요. 비활성화하면 부모 정책의 그룹화가 상속돼요.
- 선택: Override general timings를 활성화해 부모 정책과 다른 타이밍 옵션을 설정해요. 비활성화하면 부모 정책의 타이밍 옵션이 상속돼요.
- Save policy를 클릭해 변경 사항을 저장해요.
형제 정책 추가
- 왼쪽 메뉴에서 Alerts & IRM을 클릭한 뒤 Alerting을 클릭해요.
- Notification configuration을 클릭한 뒤 Notification policies 탭을 선택해요.
- 형제를 만들 자식 정책을 찾아요.
- Add new policy -> New sibling above 또는 New sibling below를 클릭해요.
어떤 정책이 알림을 먼저 받는지 결정하고 형제·자식 정책의 올바른 순서를 설정하는 것이 중요해요. 정책은 위에서 아래로 평가되며, 일치하는 정책을 찾으면 시스템은 표시된 순서대로 그 자식 정책을 계속 평가해요. 5. 자식 정책 추가의 5단계부터 지침을 따르세요.
정책 검색
Grafana는 정책 트리 내에서 다음으로 검색할 수 있어요: 라벨 매처, contact points.
- Contact point로 검색하려면 Search by contact point 드롭다운에서 contact point를 선택해요. 그 contact point를 사용하는 정책이 UI에서 강조 표시돼요.
- 라벨 매처로 검색하려면 Search by matchers 입력 필드에 유효한 매처를 입력해요. 여러 매처는 쉼표(,)로 결합할 수 있어요.
모든 일치 정책은 정확한 일치(exact match)라는 점이 중요해요. Grafana는 라벨 매처 생성을 위한 정규식을 지원하지만, 정책 검색에서는 정규식이나 부분 일치를 지원하지 않아요.
음소거 타이밍 (Mute timings)
음소거 타이밍은 부모 알림 정책에서 상속되지 않으며 각 레벨에 구성해야 해요. 지침은 "Configure mute timings" 문서를 참고하세요.
여러 알림 정책 관리
기본적으로 Grafana는 모든 알림 라우팅에 단일 알림 정책 트리를 사용해요. 조직이 커지고 복잡해지면 단일 전역 트리 관리가 어려워질 수 있어요. 여러 알림 정책을 사용하면 라우팅 로직을 별도의 독립 관리 라우팅 트리로 분할할 수 있어요. 각 알림 정책에는 기본 정책과 유사하게 동작하는 자체 라우팅 트리(이름, 루트 정책, 자식 정책)가 포함돼요. 팀·서비스·도메인별로 라우팅 로직을 조직화하기 위해 추가 라우팅 트리를 만들 수 있어요. Default Policy는 삭제할 수 없지만, 정책을 초기화(reset)해 비울 수는 있어요.
예제
알림 구성의 한 예시:
- Slack 알림용 "default" contact point를 만들고 기본 정책에 설정해요.
- 기본 정책 그룹화를
cluster,namespace,severity로 편집해 알림 규칙과 특정 Kubernetes 클러스터·네임스페이스별로 알림을 받게 해요. - 개발 클러스터에서 오는 알림용 특정 라우트를 적절한 contact point로 만들어요.
- "critical" 심각도 알림용 특정 라우트를 pager duty 알림 같은 더 침습적인 contact point 통합으로 만들어요.
- 자체 온콜 로테이션을 담당하는 특정 팀용 특정 라우트를 만들어요.