Prometheus:计算一段时间内的指标值

Вла*_*olf 4 prometheus

我英语说得不太好,但我需要一些建议。我有普罗米修斯 如何计算一段时间内服务的停机次数?这是我的职能

 irate(ALERTS{job="blackbox", alertstate="firing"}[2h])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

val*_*ala 5

如果度量可以有01值,则计算指定后视窗口上的值sum_over_time(metric[d])的数量。例如,返回过去一小时内具有值的样本数。然后值的数量可以计算为。1dsum_over_time(up[1h])up10count_over_time(up[1h]) - sum_over_time(up[1h])

如果指标可以有0和之外的其他值1,那么 Prometheus 还没有提供用于计算具有特定值的样本数量的函数:(

还有另一个类似 Prometheus 的系统,它允许在指定的回溯窗口上计算具有给定值的原始样本的数量 - VictoriaMetrics(我是该系统的核心开发人员)。它为此任务提供了count_eq_over_time函数。例如,以下 MetricsQL 查询返回具有过去一小时内的some_metric值的时间序列的样本数:42

count_eq_over_time(some_metric[1h], 42)
Run Code Online (Sandbox Code Playgroud)