알림

알림 (Notifications)

알림을 어떻게, 언제, 어디로 보낼지 정하는 것은 알림 시스템 설정의 핵심이에요. 이 결정은 팀이 문제를 빠르게 해결하고 알림 노이즈를 최소화하는 데 직접적인 영향을 줍니다. 먼저 연락 지점(contact points)을 정의해 알림을 받을 방법을 지정한 뒤, 알림 규칙이 연락 지점으로 보내거나 알림 정책 트리로 유연하게 라우팅하도록 구성해요.

출처: 문서

본문

알림을 어떻게, 언제, 어디로 보낼지 결정하는 것은 알림 시스템 설정의 중요한 부분입니다. 먼저 연락 지점을 정의해 알림을 받는 방법을 지정하고, 알림 규칙이 firing 알림을 연락 지점으로 직접 보내거나 알림 정책 트리를 통해 유연하게 라우팅하도록 구성합니다.

한눈에 보는 동작 방식

  • Grafana 알림은 주기적으로 알림 규칙을 평가합니다.
  • firing 또는 resolved 상태인 알림 인스턴스에 대해 알림을 트리거합니다.
  • 알림 규칙을 연락 지점으로 알림을 보내거나, 더 유연하게 알림 정책으로 라우팅하도록 구성할 수 있습니다.
  • 알림 수를 줄이기 위해 라벨 그룹화와 알림 타이밍으로 관련 알림을 단일 알림으로 묶을 수 있습니다.

기본 개념

연락 지점 (Contact points)

연락 지점은 알림 전송 구성을 담고 있으며 이메일, Slack, IRM, 웹훅 같은 목적지와 알림 메시지를 지정합니다. 연락 지점은 통합 목록으로, 각 통합이 특정 목적지로 메시지를 보냅니다. 기본적으로 알림 메시지는 알림 수, 이름, 라벨, 주석 등 공통 알림 세부사항을 포함하며 커스터마이즈하거나 알림 템플릿을 사용할 수 있습니다.

알림 정책 (Notification policies)

알림 정책은 포괄적인 알림 시스템의 중추입니다. 알림을 각기 다른 연락 지점으로 라우팅하는 유연하고 효과적인 방법을 제공해 알림 노이즈를 줄이면서 놓치는 알림이 없도록 보장합니다. 알림 정책 트리는 다음을 담당합니다.

  • 부모 알림 설정을 상속·덮어쓸 수 있는 중첩 정책 정의
  • 알림 라벨을 적절한 알림 정책과 일치시켜 알림 라우팅

각 알림 정책은 특정 작업을 처리합니다.

  • 어떤 연락 지점이 알림을 받을지 결정
  • 알림 타이밍 옵션에 따라 언제 보낼지 제어
  • 여러 알림을 단일 알림으로 그룹화해 알림 노이즈 감소

알림 그룹화 (Group alert notifications)

시스템에 문제가 발생하면 수백 또는 수천 개의 알림 인스턴스가 생성될 수 있습니다. 여러 알림 규칙이 동시에 실패하고 각 규칙이 여러 인스턴스를 생성할 수 있기 때문입니다. 알림 그룹화는 특정 기간의 유사한 알림 인스턴스를 단일 알림으로 결합합니다. 알림 그룹화는 다음을 사용합니다.

  • Labels: 라벨로 같은 유형의 알림 인스턴스를 그룹화
  • Timing options: 알림 전송 전에 지정된 기간 대기, 수신되는 알림 인스턴스 그룹화 허용

템플릿, 침묵, 음소거 타이밍

Grafana Alerting은 초기 알림 시스템을 다듬을 때 유용한 고급 알림 기능을 제공합니다. 공유 템플릿으로 실용적인 알림 정보를 커스터마이즈하고 여러 알림에 재사용할 수 있습니다. 또한 침묵음소거 타이밍으로 알림 평가를 중단하지 않고 알림을 일시 중지·억제할 수 있습니다.

아키텍처

Grafana Alerting은 Prometheus 모델을 기반으로 하며 확장성과 성능을 위해 두 주요 컴포넌트를 분리합니다.

  • 알림 규칙을 평가하고 firing·resolved 알림을 알림 수신자에게 보내는 알림 생성기 (alert generator)
  • 알림을 받아 알림 전송을 담당하는 알림 수신자 (Alertmanager)

Grafana는 Prometheus Alertmanager를 확장한 커스텀 Alertmanager를 포함해 알림을 관리·전달합니다. 또한 Grafana Alerting을 다른 Alertmanager와 함께 동작하도록 구성할 수도 있습니다.

더 알아보기 (Learn more)