【问题标题】:Grafana + InfluxDB + telegrafGrafana + InfluxDB + telegraf
【发布时间】:2018-11-02 05:01:03
【问题描述】:

我正在使用 grafana 来监控网络设备。正如您在 screen1 看到的那样,我有许多监视器接口,28 个物理接口 + 许多虚拟 (vlan)。 图表向我显示所有接口,但我希望并有机会从下拉列表中选择接口。然后我发现我可以用“变量”来解决这个问题。 我做了一个变量,我可以选择我想要的界面,但是当我选择自定义界面时它并没有影响图形。

screen1

我的变量:

Variable config

还有我的数据库查询:

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)

【问题讨论】:

  • 试试:.. WHERE ("interface" =~ /^$ifDescr$/)
  • @IIIIIIIIIIIIIIIIIIIIIIII 我把它添加到变量查询中,对吧?如果是这样,它没有帮助。
  • 不是你的数据库查询中的错误
  • @IIIIIIIIIIIIIIIIIIIIIIII,我试试这个,但它对我不起作用:SELECT derivative(mean("ifHCInOctets"), 1s) *8 AS "Input", derivative(mean("ifHCOutOctets"), 1s) *8 AS "Output" FROM "autogen"."interface" WHERE ("interface" =~ /^$ifDescr$/)
  • @IIIIIIIIIIIIIIIIIIIIII 是对的,将您的变量添加到数据查询过滤器中。

标签: influxdb grafana telegraf


【解决方案1】:

WHERE“接口”=~ /^$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 子句以使用变量的正则表达式值

Query Builder in Grafana

如果您使用 TICK 脚本编写或直接从 cli 查询数据库,则括号是正确的。 Grafana 使用的查询语法略有不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-31
    • 2017-10-12
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 2017-08-03
    相关资源
    最近更新 更多