簡體   English   中英

如何在 Grafana 中基於多個變量組合系列

[英]How do I combine series based on multiple variables in Grafana

在我的 Graphite 數據庫中,我的系列如下所示:

server.[server-name].app.[app-name].memory.used
server.[server-name].app.[app-name].memory.committed

例如 :

server.backend.app.apiserver.memory.used
server.backend.app.apiserver.memory.committed
server.backend.app.database.memory.used
server.backend.app.database.memory.committed
server.frontend.app.webserver.memory.used
server.frontend.app.webserver.memory.committed

使用 Graphana,我想繪制一個圖形,其中我根據模板值顯示多個應用程序上的可用內存量,我可以按服務器名稱或應用程序名稱過濾這些值。 我還希望時間序列以服務器名稱和應用程序名稱作為別名。

例如,在上面的例子中,我想在一個圖表上看到 3 個系列:

Series 1, free memory for backend.apiserver
Series 2, free memory for backend.database
Series 3, free memory for frontend.webserver

我可以通過使用以下函數在模板中選擇單個服務器和單個應用程序來做到這一點:

Series A(hidden ) : server.$server.app.$app.memory.used
Series B(visible) : diffSeries(server.$server.app.$app.memory.committed), #A)

但是,如果希望圖表同時顯示多個服務器和多個應用程序,B 系列就變成了 A 系列中所有值的減法。

一個簡單的答案是將“空閑”內存數據明確發送到 Graphite 作為每個應用程序的第三個數據點,但我想知道 Grafana 儀表板是否具有可以在不篡改現有數據收集腳本的情況下完成相同結果的功能我有。

根據石墨版本,它可以使用reduceSeries函數來完成(doc 有類似的例子)。

reduceSeries(
    mapSeries($server.app.$app.memory.*, 0, 2),
    "diffSeries", 4,"commited", "used"
)

公平地說,我還沒有用 grafana 的模板/變量機制進行過測試。

暫無
暫無

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

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