簡體   English   中英

如何在Grafana中創建SLA圖表?

[英]How can I create an SLA chart in Grafana?

我有一個seriesMetric和一個constantLine (目標/ SLA)。 我希望能夠“計算”該行下方的出現次數,然后除以總數即可得出SLA中的百分比。 我知道如何使用asPercent做第二部分,但是我不知道如何計算Grafana中該行以下的出現次數。 沒有countif函數。 我嘗試了currentBelowaverageBelow ,但是圖表上什么都沒出現(這兩條線消失了)。 我認為我做錯了。

我認為這是一個非常常見的用例,我認為有人這樣做了。 理想情況下,百分比應放在圖表旁邊的singleStat面板中。

(我們將Gafana與Graphite結合使用。)

SLA圖表樣本

多虧了一位同事,我們終於解決了這個問題。 這是對我們有用的東西:

"A", "target": "averageSeries(stats.timers.rails.production-aws.rack.*.util.mean)"

這是主要指標。

"B", "target": "removeAboveValue(#A,25)"

這將刪除SLA之外的值。 我們的SLA利用率應小於25%。

"C", "target": "alias(transformNull(asPercent(#B), 0), '% within SLA')"

asPercent將序列本身除以創建1(和Null)的序列。

transformNull關閉removeAboveValue函數,將removeAboveValue替換為0。

最后,在“軸與網格”>“圖例”下,單擊“平均值”並顯示2個小數。 這樣做將為您查看的任何時間范圍提供平均的SLA達到率。

這是結果。 SLA圖表

根據您的SLA實際測量的內容,可以通過多種方法來解決。 這個問題以及我在項目中解決該問題的方法的一個普遍答案是,讓外部腳本從Graphite中提取一些相關指標,然后簡單地將結果推回(使用xxsla.satisfied這樣的新鍵)作為純二進制結果; 取0或1。然后,只需對序列值取平均值並以百分比形式顯示就可以了。 因為最終,您要么符合SLA,要么不滿足。 如果您想更深入地進行研究,可以始終像查看圖片一樣查看這些圖形。

暫無
暫無

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

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