[英]PromQL multi join
好的,這不是我要運行的簡單 PromQL 查詢。 這是我的輸入數據:
accessPoint_numClients{mac="00:11:22:33:44:55"} 11
accessPoint_numClients{mac="00:11:22:33:44:AA"} 12
accessPoint_numClients{mac="00:11:22:33:44:BB"} 5
accessPoints{mac="00:11:22:33:44:55", groupId="1"} 1
accessPoints{mac="00:11:22:33:44:AA", groupId="1"} 1
accessPoints{mac="00:11:22:33:44:BB", groupId="2"} 1
controller_zone_groups{groupId="1", groupName="Foo"} 1
controller_zone_groups{groupId="2", groupName="Bar"} 1
controller_zone_groups{groupId="3", groupName="Baz"} 1
所以,我想生成一個 grafana 圖,按組對客戶計數進行分組,並打印出相關的 groupNames。
所以這是我目前的嘗試,但這與一個有效的查詢相去甚遠:
sum by (groupId) (accessPoint_numClients * on (mac) group_left(groupId) accessPoints * on (groupId) group_left(groupName) controller_zone_groups)
有沒有機會讓這個工作?
謝謝,沃爾克...
================ 更新 ===============
好的,也許是一些帶有響應的示例查詢:
sum by (apGroupId) ((smartzone_accessPoint_numClients * on (mac) group_left(apGroupId) smartzone_accessPoints) or (groupId) group_left(groupName) smartzone_controller_zone_groups)
==> "在 char 125 處解析錯誤:聚合中出現意外,預期為 \")\""
sum by (apGroupId) (smartzone_accessPoint_numClients * on (mac) group_left(apGroupId) smartzone_accessPoints) * on (apGroupId) group_left(groupName) smartzone_controller_zone_groups
==>“不允許多對多匹配:匹配的標簽在一側必須是唯一的”
sum by (groupName) (smartzone_accessPoint_numClients * on (mac) group_left(apGroupId) smartzone_accessPoints) * on (apGroupId) group_left(groupName) smartzone_controller_zone_groups
==>“不允許多對多匹配:匹配的標簽在一側必須是唯一的”
您的問題有點不清楚,但我認為您要問的是為什么groupName
不在 output 中。 答案是sum
將其聚合起來,將groupName
添加到by
將修復。
嘗試使用以下內容:
sum by (groupName) (
sum by (groupId) (
accessPoint_numClients * on(mac) group_right(groupId) accessPoints
) * on(groupId) group_right(groupName) controller_zone_groups
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.