簡體   English   中英

Grafana:使用名為 `/var(avail_MB)` 的指標覆蓋系列:“面板渲染錯誤 '/var(avail_MB)' 不是有效的正則表達式。”

[英]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 的新手(我只是這些的“用戶”而不是管理員)。

系列覆蓋之前的 Grafana 面板配置

系列覆蓋后的 Grafana 面板配置

顏色更改不會應用於圖表。

這是插件 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\)

最初的問題有兩個根源:

  1. https://www.monitoring-plugins.org/doc/guidelines.html#AEN201的監控插件規范指出:“ 2. label 可以包含除等號或單引號 (') ") 之外的任何字符除了='允許作為指標名稱。

  2. Grafana v6.7.3 為“別名或正則表達式”提出了不正確的(即:未轉義的)值。

這就是我制造問題的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM