Configure alert state history

Alerting может записывать все изменения состояния правил оповещения для ваших Grafana-managed правил оповещения в экземпляр Loki или Prometheus, либо в оба.

  • С помощью Prometheus вы можете запрашивать метрику GRAFANA_ALERTS для отслеживания изменений состояния оповещений в Grafana Explore.
  • С помощью Loki вы можете запрашивать и просматривать изменения состояния оповещений в Grafana Explore и в представлениях истории Grafana Alerting.

Configure Loki for alert state

Следующие шаги описывают базовую конфигурацию:

  1. Настройте Loki

    Настройки Loki по умолчанию, возможно, потребуют корректировки, так как представление истории состояний может запрашивать данные за период до 30 дней.

    Следующее изменение конфигурации по умолчанию должно подойти для большинства экземпляров, но ознакомьтесь с полным набором параметров конфигурации Loki и скорректируйте их в соответствии с вашими потребностями.

    YAML
    limits_config:
      split_queries_by_interval: '24h'
      max_query_parallelism: 32

    Поскольку это может повлиять на производительность существующего экземпляра Loki, используйте отдельный экземпляр Loki для истории состояний оповещений.

  2. Настройте Grafana

    Следующая конфигурация Grafana указывает Alerting записывать историю состояний оповещений в экземпляр Loki:

    toml
    [unified_alerting.state_history]
    enabled = true
    backend = loki
    
    # The URL of the Loki server
    loki_remote_url = http://localhost:3100
  3. Настройте источник данных Loki в Grafana

    Добавьте источник данных Loki в Grafana.

Если всё настроено правильно, вы можете открыть представление History и страницу History для просмотра и фильтрации истории состояний оповещений. Вы также можете использовать Grafana Explore для запросов к экземпляру Loki; подробности см. в разделе Мета-мониторинг Alerting.

Configure Prometheus for alert state (GRAFANA_ALERTS metric)

Вы также можете настроить экземпляр Prometheus для хранения изменений состояния ваших Grafana-managed правил оповещения. Однако такая конфигурация не включает представления истории Grafana Alerting, в отличие от Loki.

Вместо этого Grafana Alerting записывает данные о состоянии оповещений в метрику GRAFANA_ALERTS — аналогично тому, как Prometheus Alerting записывает их в метрику ALERTS.

GRAFANA_ALERTS{alertname="", alertstate="", grafana_alertstate="", grafana_rule_uid="", <additional alert labels>}

Следующие шаги описывают базовую конфигурацию:

  1. Настройте Prometheus

    Включите приёмник удалённой записи в вашем экземпляре Prometheus, установив флаг командной строки --web.enable-remote-write-receiver. Это позволит конечной точке принимать данные о состоянии оповещений от Grafana Alerting.

  2. Настройте источник данных Prometheus в Grafana

    Добавьте источник данных Prometheus в Grafana.

    В параметрах конфигурации источника данных Prometheus задайте для Prometheus type значение, соответствующее типу вашего экземпляра Prometheus. Grafana Alerting использует этот параметр для определения конечной точки удалённой записи.

  3. Настройте Grafana

    Следующая конфигурация Grafana указывает Alerting записывать историю состояний оповещений в экземпляр Prometheus:

    toml
    [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 для запроса метрики состояния оповещений. Подробности см. в разделе Мета-мониторинг Alerting.

promQL
GRAFANA_ALERTS{alertstate='firing'}

Configure Loki and Prometheus for alert state

Вы также можете настроить и Loki, и Prometheus для записи изменений состояния ваших Grafana-managed правил оповещения.

Начните с тех же шагов настройки, что показаны в предыдущих разделах Loki и Prometheus. Затем измените конфигурацию Grafana следующим образом:

toml
[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>