Графана: переменные шаблона не поддерживаются в запросах оповещений
Привет, я хочу создать простое предупреждение в графане, чтобы проверить, нет ли данных за последние 5 минут.
Но я получаю ошибку
Переменные шаблона не поддерживаются в запросах оповещений
Ну, в соответствии с этим вопросом шаблоны в графане пока не поддерживаются. У меня есть два вопроса:
Что такое шаблоны?
Как я могу избежать этой ошибки?
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
Ваша проблема находится внутри ваших метрик.