Configure alert state history
Alerting может записывать все изменения состояния правил оповещения для ваших Grafana-managed правил оповещения в экземпляр Loki или Prometheus, либо в оба.
- С помощью Prometheus вы можете запрашивать метрику
GRAFANA_ALERTSдля отслеживания изменений состояния оповещений в Grafana Explore. - С помощью Loki вы можете запрашивать и просматривать изменения состояния оповещений в Grafana Explore и в представлениях истории Grafana Alerting.
Configure Loki for alert state
Следующие шаги описывают базовую конфигурацию:
-
Настройте Loki
Настройки Loki по умолчанию, возможно, потребуют корректировки, так как представление истории состояний может запрашивать данные за период до 30 дней.
Следующее изменение конфигурации по умолчанию должно подойти для большинства экземпляров, но ознакомьтесь с полным набором параметров конфигурации Loki и скорректируйте их в соответствии с вашими потребностями.
limits_config: split_queries_by_interval: '24h' max_query_parallelism: 32Поскольку это может повлиять на производительность существующего экземпляра Loki, используйте отдельный экземпляр Loki для истории состояний оповещений.
-
Настройте Grafana
Следующая конфигурация Grafana указывает Alerting записывать историю состояний оповещений в экземпляр Loki:
[unified_alerting.state_history] enabled = true backend = loki # The URL of the Loki server loki_remote_url = http://localhost:3100 -
Настройте источник данных 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>}
Следующие шаги описывают базовую конфигурацию:
-
Настройте Prometheus
Включите приёмник удалённой записи в вашем экземпляре Prometheus, установив флаг командной строки
--web.enable-remote-write-receiver. Это позволит конечной точке принимать данные о состоянии оповещений от Grafana Alerting. -
Настройте источник данных Prometheus в Grafana
Добавьте источник данных Prometheus в Grafana.
В параметрах конфигурации источника данных Prometheus задайте для Prometheus type значение, соответствующее типу вашего экземпляра Prometheus. Grafana Alerting использует этот параметр для определения конечной точки удалённой записи.
-
Настройте Grafana
Следующая конфигурация Grafana указывает Alerting записывать историю состояний оповещений в экземпляр Prometheus:
[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.
GRAFANA_ALERTS{alertstate='firing'}
Configure Loki and Prometheus for alert state
Вы также можете настроить и Loki, и Prometheus для записи изменений состояния ваших Grafana-managed правил оповещения.
Начните с тех же шагов настройки, что показаны в предыдущих разделах 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>