我正在使用grafana来监控网络设备。正如你在screen1上看到的,我有很多接口用于监控,28个物理接口+多个虚拟(vlan)接口。 图表显示了所有接口,但我希望并有机会从下拉列表中选择接口。然后我发现我可以用“变量”来解决这个问题。 我创建了一个变量,我可以选择我想要的界面,但是当我选择自定义界面时,它对图形没有影响。
我的变量:
我的数据库查询:
SELECT derivative(mean("ifHCInOctets"), 1s) *8 AS "Input", derivative(mean("ifHCOutOctets"), 1s) *8 AS "Output" FROM "autogen"."interface" WHERE $timeFilter GROUP BY time($__interval), "ifDescr" fill(null)
答案 0 :(得分:0)
WHERE“interface”=〜/ ^ $ ifDescr $ /
在制作仪表板时,在grafana查询中丢失查询周围的括号。这应该工作。这就是我如何过滤主机名,所以我的完整查询是
SELECT mean("usage_idle") * -1 + 100 FROM "cpu" WHERE "host" =~ /^$Server$/ AND "cpu" = 'cpu-total' AND $timeFilter GROUP BY time($Interval) fill(null)
这应该有助于拼凑您需要的查询。您可以使用Grafana的查询构建器,只需更改where子句以使用变量的正则表达式值
如果您使用TICK脚本编写或直接从cli查询数据库,则括号是正确的。 Grafana使用略有不同的查询语法。