알림 상태 기록 설정하기
알림 상태 기록 설정하기 (Configure alert state history)
Alerting은 Grafana 관리 알림 규칙의 모든 상태 변경을 Loki나 Prometheus 인스턴스(또는 둘 다)에 기록할 수 있어요. Prometheus를 쓰면 Grafana Explore에서 GRAFANA_ALERTS 메트릭으로 상태 변경을 조회하고, Loki를 쓰면 Explore와 Grafana Alerting History 뷰 양쪽에서 조회할 수 있어요.
출처: 문서
본문
Loki로 상태 기록 설정하기
기본 구성은 다음과 같아요.
- Loki 구성: 상태 기록 뷰가 최대 30일치 데이터를 쿼리할 수 있으므로 기본 Loki 설정을 조정해야 해요. 대부분의 인스턴스에는 다음 변경이 잘 맞지만, 전체 Loki 설정을 보고 필요에 따라 조정하세요.
limits_config:
split_queries_by_interval: '24h'
max_query_parallelism: 32
기존 Loki 인스턴스의 성능에 영향을 줄 수 있으니 상태 기록에는 별도의 Loki 인스턴스를 쓰는 게 좋아요.
- Grafana 구성: 다음 설정은 Alerting이 상태 기록을 Loki 인스턴스에 쓰도록 합니다.
[unified_alerting.state_history]
enabled = true
backend = loki
# The URL of the Loki server
loki_remote_url = http://localhost:3100
- Grafana에 Loki 데이터 소스 추가: Grafana에 Loki 데이터 소스를 추가하세요.
제대로 설정되면 History 뷰·페이지에서 상태 기록을 보고 필터링할 수 있고, Grafana Explore로 Loki를 쿼리할 수 있어요. 자세한 내용은 Alerting 메타 모니터링을 참고하세요.
Prometheus로 상태 기록 설정하기 (GRAFANA_ALERTS 메트릭)
Prometheus 인스턴스를 구성해 Grafana 관리 알림 규칙의 상태 변경을 저장할 수도 있어요. 다만 이 방식은 Loki처럼 Grafana Alerting History 뷰를 활성화하지 않아요. 대신 Prometheus Alerting이 ALERTS 메트릭에 쓰듯, Grafana Alerting은 GRAFANA_ALERTS 메트릭에 상태 데이터를 씁니다.
GRAFANA_ALERTS{alertname="", alertstate="", grafana_alertstate="", grafana_rule_uid="", <additional alert labels>}
- Prometheus 구성:
--web.enable-remote-write-receiver커맨드라인 플래그로 원격 쓰기 수신기를 활성화하세요. 이렇게 하면 Grafana Alerting의 상태 데이터를 받는 엔드포인트가 열립니다. - Grafana에 Prometheus 데이터 소스 추가: Prometheus 데이터 소스를 추가하고, 구성 옵션에서 Prometheus type을 인스턴스 유형에 맞게 설정하세요. Grafana Alerting은 이 옵션으로 원격 쓰기 엔드포인트를 식별해요.
- Grafana 구성:
[unified_alerting.state_history]
enabled = true
backend = prometheus
# Target data source UID for writing alert state changes.
prometheus_target_datasource_uid = <DATA_SOURCE_UID>
# (Optional) Metric name for the alert state metric. Default is "GRAFANA_ALERTS".
# prometheus_metric_name = GRAFANA_ALERTS
# (Optional) Timeout for writing alert state data to the target data source. Default is 10s.
# prometheus_write_timeout = 10s
그 다음 Grafana Explore로 알림 상태 메트릭을 쿼리할 수 있어요.
GRAFANA_ALERTS{alertstate='firing'}
자세한 내용은 Alerting 메타 모니터링을 참고하세요.
Loki와 Prometheus 동시 설정하기
Loki와 Prometheus 양쪽에 상태 변경을 기록하게 할 수도 있어요. 앞서 Loki와 Prometheus 섹션과 동일한 설정을 먼저 하고, Grafana 구성을 이렇게 조정하세요.
[unified_alerting.state_history]
enabled = true
backend = multiple
primary = loki
# URL of the Loki server.
loki_remote_url = http://localhost:3100
secondaries = prometheus
# Target data source UID for writing alert state changes.
prometheus_target_datasource_uid = <DATA_SOURCE_UID>