Grafana Alerting 소개

Grafana Alerting 소개

Grafana Alerting은 여러 데이터 소스에 걸쳐 알림 규칙을 정의하고 유연한 라우팅으로 알림을 관리할 수 있게 해줘요. Prometheus 알림 모델을 기반으로 하여 Grafana 스택과 통합되어 다양한 환경에서 확장 가능하고 효과적인 알림 체계를 제공해요.

팁: 실습 위주의 소개는 Getting started with Grafana Alerting 튜토리얼을 참고하세요.

출처: 문서

본문

Grafana Alerting은 여러 데이터 소스에 걸쳐 알림 규칙을 정의하고 유연한 라우팅으로 알림을 관리하게 합니다. Prometheus 알림 모델을 기반으로 Grafana 스택과 통합되어 광범위한 환경에서 확장 가능하고 효과적인 알림 체계를 제공합니다.

한눈에 보는 동작 방식

  • Grafana Alerting은 데이터 소스 쿼리를 실행하고 조건을 확인해 알림 규칙을 주기적으로 평가합니다.
  • 각 알림 규칙은 여러 알림 인스턴스(시계열 또는 차원당 하나)를 생성할 수 있습니다.
  • 조건이 위반되면 알림 인스턴스가 fire 상태가 됩니다.
  • firing(및 resolved) 알림 인스턴스는 연락 지점으로 직접 보내거나, 더 유연하게 알림 정책을 통해 알림으로 전송됩니다.

기본 개념 (Fundamentals)

알림 규칙 (Alert rules)

알림 규칙은 측정할 데이터를 선택하는 하나 이상의 쿼리와 표현식으로 구성됩니다. 또한 규칙이 fire되기 위해 충족해야 하는 임계값인 조건(condition)이 포함됩니다. 알림 규칙에서 연락 지점이나 알림 정책을 선택해 알림을 받는 방법을 정합니다.

알림 규칙 평가

알림 규칙은 주기적으로 평가되며 알림 인스턴스의 상태가 그에 따라 업데이트됩니다. firing 또는 resolved 상태인 알림 인스턴스만 알림으로 전송됩니다.

알림 인스턴스 (Alert instances)

각 알림 규칙은 시계열 또는 차원당 하나씩 여러 알림 인스턴스(알림)를 생성할 수 있습니다. 이를 통해 단일 표현식으로 여러 리소스를 관찰할 수 있습니다.

sum by(cpu) (
  rate(node_cpu_seconds_total{mode!="idle"}[1m])
)

위 PromQL 표현식을 사용하는 규칙은 첫 평가 후 CPU 수만큼 알림 인스턴스를 만들어 단일 규칙으로 각 CPU의 상태를 보고할 수 있습니다. 멀티차원 알림 예시는 multi-dimensional alerts example을 참고하세요.

연락 지점 (Contact points)

연락 지점은 알림 메시지와 알림을 보낼 위치를 결정합니다. 예를 들어 이메일, Slack, Grafana IRM·PagerDuty 같은 사고 관리 시스템(IRM), 웹훅으로 알림을 보내는 연락 지점을 만들 수 있습니다.

알림 메시지

기본적으로 알림 메시지에는 알림 수, 상태, 주석 등 알림 세부사항이 포함되어 대응자가 문제를 해결하도록 돕습니다. 알림 메시지는 커스터마이즈할 수도 있습니다. 알림 규칙에서 알림을 받을 연락 지점을 선택하거나 알림 정책을 사용할 수 있습니다.

알림 정책 (Notification policies)

알림 정책은 팀·서비스 같은 고유 범위로 알림을 처리하는 고급 옵션으로, 대규모 알림 시스템 관리에 적합합니다. 알림 정책은 라벨 매칭으로 알림을 연락 지점으로 라우팅합니다. 트리 구조로 정의되며, 트리 루트가 **기본 알림 정책(Default notification policy)**으로 모든 알림 인스턴스가 처리되도록 보장합니다. 각 알림 정책은 알림을 보낼 위치(연락 지점)와 전송 시점(타이밍 옵션)을 결정합니다.

알림 그룹화

알림 노이즈를 줄이기 위해 Grafana Alerting은 기본적으로 관련 firing 알림을 단일 알림으로 그룹화합니다. 이 동작은 알림 규칙이나 알림 정책 설정에서 커스터마이즈할 수 있습니다.

침묵과 음소거 타이밍

침묵(Silences)음소거 타이밍(Mute timings)은 알림 규칙 평가를 중단하지 않고 알림을 일시 중지하게 합니다. 침묵은 유지보수 창 같은 일회성으로, 음소거 타이밍은 저녁·주말 같은 정기적 간격으로 알림을 일시 중지하는 데 사용합니다.

더 알아보기 (Learn more)