我在格拉法納有不同的嵌套深度數據。它看起來像這樣(嵌套深度取決於消息類型不同):有沒有可能在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
這也將是有效的解決方法,因爲亞型的數量在我的數據(通常存在甚至只有一個亞型非常低)。