2017-09-15 153 views
0

我在格拉法納有不同的嵌套深度數據。它看起來像這樣(嵌套深度取決於消息類型不同):有沒有可能在Grafana中聚合不同嵌套深度的數據?

foo.<host>.type.<type-id> 
foo.<host>.type.<type-id>.<subtype-id> 
foo.<host>.type.<type-id>.<subtype-id>.<more-nesting> 
... 

<host>字段可以是服務器發送所述數據和<type-id>的IP是消息的,它處理的類型。有很多消息類型,但對於可視化,我只對在所有主機上彙總的第一級<type-id>感興趣。

舉例來說,如果我有這樣的數據:

foo.ip1.type.type1 = 3 
foo.ip1.type.type2.subtype1 = 5 
foo.ip2.type.type1 = 4 
foo.ip2.type.type2.subtype1 = 9 
foo.ip2.type.type2.subtype2 = 13 

我寧願看到這樣的:

foo.*.type.type1 = 7 (3+4) 
foo.*.type.type2 = 27 (5+9+13) 

然後,它會更容易產生圖表,你可以看到哪些類型的消息最爲頻繁。

我還沒有找到在格拉法納表達的方法。我看到的唯一選擇是通過手動爲每個消息類型創建查詢來創建圖表。如果只有少數類型可行,但在我的例子中,類型的數量相當高,甚至更糟,它們可以隨時間變化。當添加新的消息類型時,我希望看到它們而不必更改圖形。

Grafana是否支持以這種方式聚合數據?它是否可視化由一個節點聚合的數據,並總結節點後的所有內容(如Unix du命令中的--max-depth選項)?


我對Grafana並不很有經驗,但我開始相信這個功能不被支持。不知道Grafana是否允許對數據進行預處理,但如果數據可以轉化爲

foo.ip1.type.type1 = 3 
foo.ip1.type.type2_subtype1 = 5 
foo.ip2.type.type1 = 4 
foo.ip2.type.type2_subtype1 = 9 
foo.ip2.type.type2_subtype2 = 13 

這也將是有效的解決方法,因爲亞型的數量在我的數據(通常存在甚至只有一個亞型非常低)。

回答