2017-03-07 286 views
0

我有成功和失敗的指標如下:如何繪製Grafana的百分比?

A.B.p1.success 
A.B.p3.success 
A.B.p4.success 
... 

A.B.p1.failure 
A.B.p2.failure 
A.B.p4.failure 
... 

我總共有〜30人,而我想告訴每個人的成功率計算方法是:

alias(asPercent(A.B.p1.success,sumSeries(A.B.p1.success,A.B.p1.failure)), 'p1') 

這個問題我有:

1)如果我硬代碼的每一行中的所有的人,它超過了最大行Grafana允許,和d我想他們繪製在同一個圖形

2)如果有辦法,我可以通過Grafana功能做到這一點?

提前致謝!

回答

0

在石墨做到這一點的方法是使用一個子查詢:

  1. 在Grafana添加兩個查詢,查詢#A總量和查詢#B的成功率
  2. 隱藏查詢#A
  3. 通行證查詢#A作爲查詢#B的參數到AsPercent功能

enter image description here

使用sumSeriesWithWildcard函數來彙總多個系列,以獲得總在#A:

https://stackoverflow.com/a/12837800/22688

更多,在AsPercent功能閱讀本我的博客文章。我介紹瞭如何使用AsPercent功能結尾:

https://danlimerick.wordpress.com/2017/01/29/graphite-and-grafana-how-to-calculate-percentage-of-totalpercent-distribution/

如果asPercent功能不起作用(取決於哪個版本和石墨你正在使用的變體),可以實現與mapSeries相同的結果和reduceSeries(也在博客文章):

aliasByNode(reduceSeries(mapSeries(groupByNodes(snap.gceprod.*.intel.docker.kube-system.*.snap.stats.filesystem.*.{usage,capacity}, 'maxSeries', 2, 11), 0), 'asPercent', 1, 'usage', 'capacity'), 0)

我在這裏回答了類似的問題,如果你需要另外一個例子:https://stackoverflow.com/a/42714756/22688

+0

一個可以使用reduceSeries + mapSeries與asPercent,但仍然據我瞭解,它需要具有總值的指標。 OP只有成功和失敗 - 不是它們的總和。 – kwarunek

+0

也許我真的不明白這個問題。 OP能不能僅僅用OP可以在查詢#A中完成的groupByNode函數來計算成功和失敗系列? –

+0

@kwarunek多思考一下,sumSeriesWithWildcard應該做的伎倆來獲得總數。 –