在普罗米修斯中查找重复的标签

Find duplicate labels in prometheus

我们有多个服务器,上面有多个客户。有时我们将客户从一台服务器复制到另一台服务器,然后将 DNS 指向新服务器。 现在,问题是旧服务器仍然报告该客户的一些普罗米修斯指标,这导致重复的数据集和错误数据。

为了清理数据,我们需要一种方法来识别那些重复的数据集。

示例数据:

orders(customer="a", server="1") = 200
orders(customer="b", server="1") = 299
orders(customer="c", server="2") = 10
orders(customer="a", server="2") = 10

我们正在寻找的是一些 PromQL 来为我们提供以下输出:

a: 2
b: 1
c: 1

请注意,我对此处的值不感兴趣 - 只对唯一数据点的数量感兴趣。

有什么想法吗?

使用 count 并按(使用 by 关键字)您要求和的标签进行分组,在您的情况下 customer

count(orders) by (customer)

看看这个live example