Графана: переменные шаблона не поддерживаются в запросах оповещений

Привет, я хочу создать простое предупреждение в графане, чтобы проверить, нет ли данных за последние 5 минут.

Но я получаю ошибку

Переменные шаблона не поддерживаются в запросах оповещений

Ну, в соответствии с этим вопросом шаблоны в графане пока не поддерживаются. У меня есть два вопроса:

  1. Что такое шаблоны?

  2. Как я могу избежать этой ошибки?

2 ответа

На вкладке "Метрики" добавьте новую метрику, которая будет скрыта на диаграмме и будет использоваться только для предупреждений. Дублируйте запрос и удалите все переменные шаблона (т.е.$somevar) от него. Замените переменную шаблона жестко заданным значением, для которого вы хотите создать оповещение. Скройте метрику, щелкнув значок "глаз".

Источник: https://community.grafana.com/t/template-variables-are-not-supported-in-alert-queries-while-setting-up-alert/2514/8 alert/ 2514/8

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

Попробуйте жестко закодировать всю формулу, а затем попробуйте.

В простом языке не используйте Drop Down или шаблонную переменную, которую вы определили в разделе шаблонов сверху.

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

Что касается вашего скриншота, вы используете условие

WHEN last() of query(A,5m,now) HAS NO VALUE

так что часть с

query(A,5m,now)

повторно использует запрос из вкладки "Метрики", и если вы используете переменную внутри этого запроса, то оповещение сообщает об этой ошибке

посмотрите на этот простой запрос:

up{job="node_exporter", instance="$instance"}

здесь я хочу использовать в качестве экземпляра выбранное пользователем имя VM из выпадающего меню, которое представлено переменной $instance

если я создам оповещение по этому запросу, я получу ошибку Template variables are not supported in alert queries

Это означает, что вы должны использовать жестко закодированные переменные внутри ваших запросов.

Это плохо

where host =~ /^$host$/

Это хорошо

where host =~ mymachine.com

Ваша проблема находится внутри ваших метрик.

Другие вопросы по тегам