데이터 소스 관리형 알림 규칙 구성

데이터 소스 관리형 알림 규칙 구성 (Configure data source-managed alert rules)

데이터 소스 관리형(data source-managed) 알림 규칙은 Grafana가 아니라 Prometheus나 Loki 같은 데이터 소스 자체에 저장되는 알림 규칙이에요. Grafana Alerting에서 Grafana Mimir와 Grafana Loki 데이터 소스용 규칙을 만들고 편집할 수 있고, 특정 설정이 켜져 있으면 Prometheus 데이터 소스의 규칙을 볼 수도 있어요. 또 Loki·Mimir·Prometheus의 규칙을 Grafana 관리형 규칙으로 가져올 수 있죠.

출처: 문서

본문

Caution

Grafana Cloud에서 사전 프로비저닝된 Loki·Prometheus 데이터 소스 관리형 알림이 더 이상 사용되지 않으며 새 스택에서는 만들 수 없어요. 새 Grafana Cloud 스택은 기본적으로 Grafana 관리형 알림(GMA)을 사용하며, 데이터 소스 관리형 알림(DMA)은 새 스택에 프로비저닝되지 않아요 (기존 스택은 영향 없음). 이는 Grafana Labs가 관리하는 기본 클라우드 데이터 소스와 Cloud Alertmanager에 적용되며, 직접 Mimir·Loki·Alertmanager 데이터 소스를 추가하면 데이터 소스 관리형 알림을 계속 쓸 수 있어요. Cloud 사용자는 import 도구로 DMA 규칙을 GMA 규칙으로 가져올 수 있어요.

Grafana Alerting에서는 다음을 할 수 있어요:

  1. Grafana Mimir와 Grafana Loki 데이터 소스에 대한 데이터 소스 관리형 규칙을 만들고 편집해요.
  2. "Manage alerts via Alerting UI"가 활성화되면 Prometheus 데이터 소스의 규칙을 볼 수 있어요 (그러나 Grafana에서 만들거나 편집할 수는 없어요).
  3. Loki·Mimir·Prometheus의 데이터 소스 관리형 규칙을 Grafana 관리형 규칙으로 가져와요.

Note

데이터 소스 관리형 규칙은 수평 확장을 지원하지만 Grafana 관리형 알림 규칙보다 운영 복잡성이 더 커질 수 있어요. 가능하면 항상 Grafana 관리형 알림 규칙을 사용하는 것을 권장해요 — 더 풍부한 기능 세트와 전체 Grafana Alerting 워크플로와의 더 나은 통합을 제공하거든요.

Grafana 관리형 규칙과의 비교

Feature Grafana-managed alert rule Data source-managed alert rule
Supported data sources 알림 옵션을 활성화한 모든 백엔드 데이터 소스 Mimir와 Loki 데이터 소스에만 규칙 생성 지원
Mix and match data sources Yes No
Add expressions to transform your data and set alert conditions Yes No
No data and error states Yes No
Stale alert instances Yes No
Images in alert notifications Yes No
Role-based access control Yes No
Alert state history Yes No
Alert version history Yes No
Terraform provisioning Yes No
Recording rules Yes Yes
Organization 폴더로 구성·관리·접근 네임스페이스(namespace) 사용
Alert rule evaluation 평가는 Grafana에서 이루어짐 평가는 데이터 소스에서 이루어지며 수평 확장 허용
Scaling 규칙은 Grafana 데이터베이스에 저장 규칙은 데이터 소스 내에 저장되며 수평 확장 허용

데이터 소스 관리형 알림 규칙 만들기

시작하기 전에: Mimir 또는 Loki 데이터 소스에 대한 쓰기 권한이 있는지 확인하세요. 없으면 규칙을 만들거나 업데이트할 수 없어요.

Ruler API 활성화: Mimir Ruler API 또는 Loki Ruler API 문서를 참고하세요.

  • Mimir: /prometheus 접두사를 사용해요. Prometheus 데이터 소스는 Grafana Mimir와 Prometheus 둘 다 지원하며, Grafana는 Query API와 Ruler API가 같은 URL 아래에 있기를 기대해요. Ruler API에 별도 URL을 줄 수 없어요.
  • Loki: Loki 데이터 소스의 기본인 로컬 규칙 저장소 타입은 규칙 보기만 지원해요. 규칙을 편집하려면 다른 규칙 저장소 타입 중 하나를 구성하세요.

권한: Mimir 또는 Loki 인스턴스의 알림 규칙은 Editor 또는 Admin 역할의 사용자가 편집하거나 삭제할 수 있어요. 특정 데이터 소스의 알림 규칙을 관리하고 싶지 않으면 해당 설정에서 "Manage alerts via Alerting UI" 체크박스를 해제하세요.

알림 규칙 이름 설정:

  1. Alerts & IRM -> Alert rules -> + New alert rule을 클릭해요.
  2. 규칙을 식별할 이름을 입력해요.

이 이름은 알림 규칙 목록에 표시되며, 이 규칙에서 생성된 모든 알림 인스턴스의 alertname 라벨이기도 해요.

쿼리와 조건 정의:

Note: 기본적으로 새 알림 규칙은 Grafana 관리형이에요. Data source-managed로 전환하려면 아래 절차를 따르세요.

  1. 드롭다운 목록에서 Prometheus 기반 데이터 소스를 선택해요. "Open advanced data source picker"로 더 많은 옵션을 찾을 수도 있어요.
  2. 알림 조건을 포함한 PromQL 또는 LogQL 쿼리를 입력해요.
  3. Rule type 옵션에서 Data source-managed를 선택해요.
  4. Preview alerts를 클릭해요.

알림 평가 동작 설정: 알림 규칙이 얼마나 자주 평가되고 얼마나 빨리 상태를 바꿔야 하는지 알림 규칙 평가로 결정해요.

  1. 네임스페이스를 선택하거나 + New namespace를 클릭해요.
  2. 평가 그룹을 선택하거나 + New evaluation group을 클릭해요. 새 그룹을 만들면 그룹의 interval을 지정해요. 같은 그룹의 모든 규칙은 같은 시간 간격으로 순차 평가돼요 (Alert rules 페이지에서 순서를 바꿀 수 있어요).
  3. pending period(대기 기간)를 입력해요. pending period는 알림 규칙이 발동(fire)되기 전까지 조건 위반 상태로 있을 수 있는 기간이에요. 조건이 충족되면 알림은 Pending 상태가 되고, 그 기간 동안 조건이 유지되면 Firing 상태로 전환되며, 그렇지 않으면 Normal 상태로 되돌아가요.

라벨과 알림 구성: 알림 규칙에 라벨을 추가해 어떤 알림 정책(notification policy)이 발동 중인 알림 인스턴스를 처리할지 정해요. 모든 규칙과 인스턴스는 라벨과 무관하게 기본 알림 정책에 일치해요. 중첩 정책이 없거나 중첩 정책이 라벨과 일치하지 않으면 기본 정책이 일치하는 정책이 돼요.

  • 라벨을 추가해 알림 라우팅 방식을 바꿀 수 있어요. 드롭다운에서 기존 키-값 쌍을 선택하거나, 새 키나 값을 입력해 커스텀 라벨을 추가해요.

알림 메시지 구성: 어노테이션(annotations)으로 알림 메시지에 정보를 추가해 알림에 대응하는 데 도움이 되게 해요. 어노테이션은 기본적으로 알림 메시지에 포함되며, 쿼리의 동적 데이터를 표시하기 위해 텍스트나 템플릿을 쓸 수 있어요.

  1. 선택: summary 추가 — 무엇이 왜 발생했는지에 대한 짧은 요약.
  2. 선택: description 추가 — 알림 규칙이 무엇을 하는지 설명.
  3. 선택: Runbook URL 추가 — 알림에 대한 런북을 보관하는 웹페이지.
  4. 선택: 커스텀 어노테이션 추가 — 알림 해결에 도움이 되는 추가 정보.
  5. 선택: dashboard와 panel 연결 — 알림 조사를 돕기 위해 규칙을 패널에 연결.
  6. Save rule을 클릭해요.

더 알아보기 (Learn more)