Prometheus - 计算给定指标标签的指标增加

Posted

技术标签:

【中文标题】Prometheus - 计算给定指标标签的指标增加【英文标题】:Prometheus - Count increase in metrics for a given metric label 【发布时间】:2020-11-09 14:56:22 【问题描述】:

我有以下计数器指标

9:00 AM message_counterdeviceid="1", messagetype="event1"
9:01 AM message_counterdeviceid="1", messagetype="event2"
9:02 AM message_counterdeviceid="2", messagetype="event1"
9:03 AM message_counterdeviceid="3", messagetype="event2"
9:04 AM message_counterdeviceid="4", messagetype="event1"
9:05 AM message_counterdeviceid="3", messagetype="event2"

如何计算最近 2​​ 分钟的活动设备数量,即 2(设备 ID 3 和 4)?

【问题讨论】:

这看起来像是不同的记录事件。 Prometheus 数据通常会增加指标。您可能为此使用了错误的工具。 另外,我们警惕“系列爆炸”。 Prometheus 将为每组独特的标签创建一个新系列。如果你说 10 000 台设备和 100 种消息类型,你最终会得到一百万个系列。 【参考方案1】:

这是与Prometheus query to count unique label values 类似的问题。但在这里,您只需要在过去两分钟内增加的指标。

您需要查看过去 2 分钟内费率非零的项目:

count(count by (deviceid) (rate(message_counter[2m]) > 0))

【讨论】:

以上是关于Prometheus - 计算给定指标标签的指标增加的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Prometheus/Grafana 中不指定标签的情况下通过唯一标签计算指标数量?

具有动态标签值的 Prometheus 指标

将 prometheus 静态标签添加到公共交通指标

[Prometheus][Grafana] 使用标签在它们之间映射指标

如何从 Prometheus 获得上周的“UP”指标计数 = 0?

Prometheus:每个用户的标签 VS 每个用户的指标