[英]Grafana: Overrriding series with metric named `/var(avail_MB)`: “Panel rendering error '/var(avail_MB)' is not a valid regular expression.”
一個 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 的新手(我只是這些的“用戶”而不是管理員)。
顏色更改不會應用於圖表。
這是插件 output 的示例:
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. label 可以包含除等號或單引號 (') ") 之外的任何字符除了=
和'
允許作為指標名稱。
Grafana v6.7.3 為“別名或正則表達式”提出了不正確的(即:未轉義的)值。
這就是我制造問題的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.