好吧,这不是我想要运行的简单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)==>“字符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==>“不允许多对多匹配:匹配标签的一侧必须是唯一的”
发布于 2020-04-29 19:15:48
你的问题有点不清楚,但我认为你想问的是为什么groupName没有出现在输出中。答案是sum把它聚合起来了,将groupName添加到by中就可以解决这个问题。
发布于 2020-07-05 21:08:42
尝试使用类似以下内容的内容:
sum by (groupName) (
sum by (groupId) (
accessPoint_numClients * on(mac) group_right(groupId) accessPoints
) * on(groupId) group_right(groupName) controller_zone_groups
)https://stackoverflow.com/questions/61481671
复制相似问题