PromQL多连接

问题描述 投票:0回答:1

好吧,这不是我要运行的简单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图,按组对客户端计数进行分组,并打印出相关的groupName。

所以这是我目前的尝试,但这与有效的查询相距很远:

sum by (groupId) (accessPoint_numClients * on (mac) group_left(groupId) accessPoints * on (groupId) group_left(groupName) controller_zone_groups)

是否有机会使它正常工作?

thx,Volker ...

================更新===============>

好吧,也许一些带有响应的示例查询:

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

==>“不允许多对多匹配:匹配标签的一侧必须唯一”

好吧,这不是我要运行的简单PromQL查询。这是我的输入数据:accessPoint_numClients {mac =“ 00:11:22:33:44:55”} 11 accessPoint_numClients {mac =“ 00:11:22:33:44:AA”} 12 ...

prometheus grafana promql
1个回答
0
投票

您的问题尚不清楚,但是我想您要问的是为什么输出中没有groupName。答案是sum会将其聚合,将groupName添加到by即可解决。

© www.soinside.com 2019 - 2024. All rights reserved.