簡體   English   中英

Grafana - 儀表板內動態面板的平均值計算

[英]Grafana - Mean calculation from dynamic panels inside a dashboard

我們有一個以 Prometheus 作為數據源的 Grafana 儀表板。 在儀表板內部,我們有一行將根據選擇的服務(多選變量)重復。 重復的行將具有 SLI 均值的面板。

我的要求是:我必須在單個面板中找到所有服務的平均值(已選擇)。

圖 1

這里test-servicetest-service-1是從服務變量(多選)中選擇的值。 每行內的一個面板是5min SLI mean 下圖將顯示 5 分鍾 SLI 面板在此處輸入圖像描述

在 General Row 我需要一個類似的面板,但這里的 SLI 計算應該是所有其他 5 分鍾 SLI 面板的平均值。

比如說,如果選擇了 2 個服務,我們將有 2 行,如附圖所示。 5m SLI(在 General 行內)應該是所選擇的這兩個服務的平均值。 如果選擇了另外 2 個服務(總共 4 個服務),General 行內的 5m SLI 面板應該通過計算其他 4 個 5min SLI 面板的平均值來改變。

注意:我是 Grafana 的新手,分享一些步驟/想法將不勝感激。

Prometheus 的查詢語言 PromQL 有一個avg函數,它可能會在這里做你想做的事。 查看https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators以獲取有關類似功能的擴展文檔。

假設您的指標稱為sli 當您在 Grafana 圖表中包含 Prometheus 查詢sli時,Prometheus 會選擇該指標的每個實例,然后 Grafana 會顯示它們。

你可以(我假設你有?)通過在 Grafana 中使用一個變量來過濾它,並對該變量執行 PromQL 標簽選擇器,如下所示: - sli{service=~"${service}"}

然而,這實際上讓你得到的是一組來自 Prometheus 的時間序列,Grafana 正在為你輕松地將其轉換為圖表。 但是你可以在 Grafana 得到結果之前讓 Prometheus 為你平均:

avg(sli{service=~"${service}"})

這將返回一個時間序列(而不是其中的許多),代表sli{service=~"${service}"}在每個時間點選擇的時間序列的平均值。

由於您沒有在最初的問題中顯示您的查詢,因此我不得不在這里做出一些假設; 如果您希望我更新答案,請隨時使用更多詳細信息更新您的問題並在此處發表評論。

暫無
暫無

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

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