Prometheus计算增量并忽略一个标签

时间:2018-06-20 06:47:02

标签: prometheus

首先是一些数据描述:

指标名称:query_seconds_count

示例值:

query_seconds_count{correlation_id="someUUID",instance="someIp:Port",job="someJob",query_type="query",segment="overall"}

我想做什么:

delta(query_seconds_count[1m])

问题:

标签correlation_id对于每个查询都是唯一的,因此没有机会找到匹配的相关ID来计算增量。因此,Delta始终为0。 计算增量时,有什么方法可以忽略标签correlation_id

我了解了关键字ignoringwithoutby,但似乎它们不适用于delta函数。

可能的解决方法

我可以使用此方法解决delta函数,但这看起来并不优雅。

sum(query_seconds_count) without (correlation_id) - sum(query_seconds_count offset 1m) without (correlation_id)

1 个答案:

答案 0 :(得分:2)

  

每个查询的标签related_id都是唯一的,因此没有机会找到匹配的相关id来计算增量。

这是事件日志记录,Prometheus根本不适用,因为这不是指标。您需要使用诸如ELK之类的系统来处理此类数据。如果要使用Prometheus,则需要在客户端代码中删除相关ID。

此外,您永远不要在计数器上使用delta函数。您可能需要increase