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

Posted

技术标签:

【中文标题】在普罗米修斯中查找重复标签【英文标题】:Find duplicate labels in prometheus 【发布时间】:2021-11-25 22:37:49 【问题描述】:

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

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

示例数据:

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

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

有什么想法吗?

【问题讨论】:

【参考方案1】:

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

count(orders) by (customer)

看看这个live example

【讨论】:

你好@felipe,不幸的是这没有输出我想要的,因为这是suming orders 的值。但是,我对这些值根本不感兴趣。我对具有相同标签的数据集的数量感兴趣。我将编辑我的问题以使其更清楚。 @flix 尝试使用count。我编辑了我的答案。 行得通!谢谢!

以上是关于在普罗米修斯中查找重复标签的主要内容,如果未能解决你的问题,请参考以下文章

普罗米修斯警报中缺少标签

通过脚本重命名普罗米修斯中的图例标签?

Grafana 是不是可以根据另一个键值对变量映射普罗米修斯标签值?

千分尺相当于普罗米修斯的标签

普罗米修斯缺席函数

使用变量标签名称创建普罗米修斯指标