알림 상태 기록 설정하기

알림 상태 기록 설정하기 (Configure alert state history)

Alerting은 Grafana 관리 알림 규칙의 모든 상태 변경을 Loki나 Prometheus 인스턴스(또는 둘 다)에 기록할 수 있어요. Prometheus를 쓰면 Grafana Explore에서 GRAFANA_ALERTS 메트릭으로 상태 변경을 조회하고, Loki를 쓰면 Explore와 Grafana Alerting History 뷰 양쪽에서 조회할 수 있어요.

출처: 문서

본문

Loki로 상태 기록 설정하기

기본 구성은 다음과 같아요.

  1. Loki 구성: 상태 기록 뷰가 최대 30일치 데이터를 쿼리할 수 있으므로 기본 Loki 설정을 조정해야 해요. 대부분의 인스턴스에는 다음 변경이 잘 맞지만, 전체 Loki 설정을 보고 필요에 따라 조정하세요.
limits_config:
  split_queries_by_interval: '24h'
  max_query_parallelism: 32

기존 Loki 인스턴스의 성능에 영향을 줄 수 있으니 상태 기록에는 별도의 Loki 인스턴스를 쓰는 게 좋아요.

  1. Grafana 구성: 다음 설정은 Alerting이 상태 기록을 Loki 인스턴스에 쓰도록 합니다.
[unified_alerting.state_history]
enabled = true
backend = loki

# The URL of the Loki server
loki_remote_url = http://localhost:3100
  1. 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>}
  1. Prometheus 구성: --web.enable-remote-write-receiver 커맨드라인 플래그로 원격 쓰기 수신기를 활성화하세요. 이렇게 하면 Grafana Alerting의 상태 데이터를 받는 엔드포인트가 열립니다.
  2. Grafana에 Prometheus 데이터 소스 추가: Prometheus 데이터 소스를 추가하고, 구성 옵션에서 Prometheus type을 인스턴스 유형에 맞게 설정하세요. Grafana Alerting은 이 옵션으로 원격 쓰기 엔드포인트를 식별해요.
  3. 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 양쪽에 상태 변경을 기록하게 할 수도 있어요. 앞서 LokiPrometheus 섹션과 동일한 설정을 먼저 하고, 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>

더 알아보기 (Learn more)