【问题标题】:PromQL multi joinPromQL 多连接
【发布时间】:2020-08-12 08:28:50
【问题描述】:

好的,这不是我想要运行的简单 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

==> "不允许多对多匹配:匹配的标签在一侧必须是唯一的"

【问题讨论】:

    标签: prometheus grafana promql


    【解决方案1】:

    尝试使用以下内容:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-10-25
        • 2022-11-03
        • 2021-04-06
        • 1970-01-01
        • 2021-01-26
        • 2021-08-08
        • 2021-01-24
        • 2021-05-24
        • 1970-01-01
        相关资源
        最近更新 更多