【问题标题】:Prometheus query to count unique label valuesPrometheus 查询以计算唯一标签值
【发布时间】:2019-01-23 17:08:11
【问题描述】:

我想计算唯一标签值的数量。有点像

select count (distinct a) from hello_info

例如,如果我的指标“hello_info”有标签 a 和 b。我想计算唯一 a 的数量。对于 a = "1"、"2"、"3",这里的计数为 3。

hello_info(a="1", b="ddd")
hello_info(a="2", b="eee")
hello_info(a="1", b="fff")
hello_info(a="3", b="ggg")

【问题讨论】:

    标签: grafana prometheus


    【解决方案1】:
    count(count by (a) (hello_info))
    

    首先,您需要一个聚合器,每个值的结果为 a,然后您可以计算它们。

    【讨论】:

    • 似乎对我不起作用,第一个计数返回一个度量矩阵(其中每个值也是一个向量),并且对其运行计数返回一个无意义的值,例如 "1.3" 。 ..有什么想法吗?
    • 我认为这个查询返回的是一个时间序列,而不是为特定标签记录的所有值的数量。
    【解决方案2】:

    其他示例: 如果要根据标签的不同值(例如:app)来统计Kubernetes集群中部署的应用数量:

    count(count(kube_pod_labels{app=~".*"}) by (app))
    

    【讨论】:

      猜你喜欢
      • 2022-12-22
      • 2019-04-30
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 2015-10-22
      • 2021-05-27
      相关资源
      最近更新 更多