Самометрики Grafana и триггеры оповещений об отслеживании

#prometheus #grafana

Вопрос:

Я использую собственную систему оповещений Grafana (версия 6.5.2) и пытаюсь выяснить, есть ли способ очистить показатели о самой Grafana.

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

Я посмотрел на /metrics конечную точку, которую отображает Графана, и нашел grafana_alerting_result_total , но это сумма для всех предупреждений, а не временной ряд, определенный для каждого определенного предупреждения.

Есть ли способ отслеживать состояние предупреждений для каждого конкретного предупреждения?

Ответ №1:

Вы можете включить экспорт внутренних показателей в Graphite:

https://github.com/grafana/grafana/blob/v6.5.2/conf/defaults.ini#L611-L615

 # Send internal Grafana metrics to graphite
[metrics.graphite]
# Enable by setting the address setting (ex localhost:2003)
address =
prefix = prod.grafana.%(instance_name)s.
 

Таким образом, у вас будет общий временной ряд в графите.

Вам необходимо использовать журналы Grafana для более детальной статистики предупреждений. Например, переключите журналы Grafana в формат json, повысьте уровень отладки и вставьте их в Elasticsearch. Затем вы можете отфильтровать logger=alerting.engine и построить график/сгруппировать/обработать эти журналы с более точной детализацией. Пример строки журнала:

 {"alertId":453,"attemptID":1,"firing":true,"logger":"alerting.engine","lvl":"dbug","msg":"Job Execution completed","name":"Packet Loss alert","t":"2021-08-10T09:53:01.617388937Z","timeMs":75.277014}