嗨,我想在 grafana 中创建一个简单的警报,以检查过去 5 分钟内是否没有数据。
但我得到一个错误
警报查询中不支持模板变量
好吧,根据这个问题,grafana 中尚不支持模板。我有两个问题:
什么是模板?
我怎样才能避免这个错误?
嗨,我想在 grafana 中创建一个简单的警报,以检查过去 5 分钟内是否没有数据。
但我得到一个错误
警报查询中不支持模板变量
好吧,根据这个问题,grafana 中尚不支持模板。我有两个问题:
什么是模板?
我怎样才能避免这个错误?
在 Metrics 选项卡下,添加将隐藏在图表中且仅用于警报的新指标。复制查询并从中删除所有模板变量(即$somevar
)。将模板变量替换为您要为其创建警报的硬编码值。通过单击“眼睛”图标隐藏指标。
在创建警报时不要在 Grafana 中使用模板,因为它不支持在警报中使用模板。
尝试对整个公式进行硬编码,然后尝试一下。
在简单的语言中,不要使用您在顶部模板部分中定义的下拉或模板变量
当您不想一次又一次地使用公式时,模板适用于动态仪表板。您可以重复在模板变量中选择的每个值的图表
关于您的屏幕截图,您正在使用条件
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
您的问题位于指标内部。