一个Icinga2插件(由我自己编写)返回的性能数据具有名为/var(avail_MB)
,/var(total_MB)
和类似指标的指标。数据以Grafana为前端转发到InfluxDB。
我在仪表板的面板查询中使用“ GROUP BY”,“ tag(metric)”和“ ALIAS BY”,“ $tag_metric
”。然后,指标名称将正确显示在图表下方。
但是,当我尝试通过指定“别名或正则表达式” /var(avail_MB)
来覆盖系列时,它似乎不起作用,并且当从面板配置返回到仪表板时,我收到一条错误消息,内容为“ 面板渲染错误'/ var(avail_MB)'不是有效的正则表达式。“。我试图在(
和)
前面加一个反斜杠,但这无济于事。更糟糕的是,整个图形都消失了,并且当尝试打开“查询检查器”时,前端似乎要花很多时间(查询永远不会出现)。
是什么问题,我该如何解决?我是Icinga2,Grafana和InfluxDB的新手(我只是这些用户的“用户”而不是管理员)。
颜色更改未应用于图表。
这里是插件输出的示例:
OK: /var: 3114/5632MB (55.30%), slope is NaN|/var(total_MB)=5631.56MB;;;0 /var(avail_pct)=55.30%;25;5;0;100 /var(avail_MB)=3114.12MB;10;5;0;5632 /var(est_avail_MB)=nanMB;10;5;0;5632
((“ nanMB”是已修复的插件中的错误,但该数据并非来自所涉及的计算机。)
问题似乎是字符串(“ / var”)的开头。Grafana似乎将以/
开头的每个字符串都视为正则表达式,并且它也期望以/
开头的任何正则表达式。因此解决方法是添加尾随/
,并将文字/
转换为\/
。
不幸的是,这仅会删除错误消息,但不会使覆盖功能起作用(匹配)。还需要反斜杠转义括号和斜杠:
代替/var(total_MB)
,您需要写/\/var\(total_MB\)
。
原始问题必须来自:
https://www.monitoring-plugins.org/doc/guidelines.html#AEN201处的监视插件规范指出:“ 2。标签可以包含除等号或单引号(')之外的任何字符”)指出允许除指标名称。
Grafana v6.7.3提议“ alias或regex”的值不正确(即:未转义)。
这就是我造成问题的方式。