[英]How can I create an SLA chart in Grafana?
我有一個seriesMetric
和一個constantLine
(目標/ SLA)。 我希望能夠“計算”該行下方的出現次數,然后除以總數即可得出SLA中的百分比。 我知道如何使用asPercent
做第二部分,但是我不知道如何計算Grafana中該行以下的出現次數。 沒有countif
函數。 我嘗試了currentBelow
和averageBelow
,但是圖表上什么都沒出現(這兩條線消失了)。 我認為我做錯了。
我認為這是一個非常常見的用例,我認為有人這樣做了。 理想情況下,百分比應放在圖表旁邊的singleStat面板中。
(我們將Gafana與Graphite結合使用。)
多虧了一位同事,我們終於解決了這個問題。 這是對我們有用的東西:
"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.