根据响应值计算Prometheus中的可用性

时间:2018-09-17 13:32:35

标签: elasticsearch prometheus

我正在尝试使用普罗米修斯来计算Elasticsearch的可用性。运行的作业之一将集群状态作为一个值获得,即0、1或2,其中大于1的任何值都不可用。 由于所有工作都成功完成,因此无法使用here中的答案,因此查询必须按照以下方式进行操作:

avg_over_time(es_cluster_status{cluster="name", instance="my_es"}>1[24h])

但是由于>1,此操作不起作用。

1 个答案:

答案 0 :(得分:1)

Prometheus不支持对范围向量中的样本进行过滤,>1仅适用于根据向量的瞬时值对向量进行过滤。

最简单的解决方法是让您定义一条记录的规则,其行为类似于up指标(当目标下降时,0,否则为1)。类似于es_cluster_status{cluster="name", instance="my_es"} <= 1。然后,您可以在该指标上应用avg_over_time()并获得任何给定范围内的可用性。