elasticsearch - 根据响应值计算 Prometheus 中的可用性
问题描述
我正在尝试使用普罗米修斯计算弹性搜索的可用性。运行的作业之一将集群状态作为一个值获取,为 0、1 或 2,其中大于 1 的任何内容都被视为不可用。由于所有作业都成功,因此使用此处的答案不起作用,因此查询必须执行以下操作:
avg_over_time(es_cluster_status{cluster="name", instance="my_es"}>1[24h])
但是,由于>1
.
解决方案
Prometheus 不支持在范围向量中过滤样本,它>1
仅适用于基于它们的即时值过滤向量。
最简单的解决方法是为您定义一个记录的规则,该规则的行为就像up
指标一样(0
当您的目标关闭时,1
否则)。类似的东西es_cluster_status{cluster="name", instance="my_es"} <= 1
。然后,您可以应用avg_over_time()
该指标并获得任何给定范围内的可用性。
推荐阅读
- javascript - JS:不确定类中函数的静态使用
- reactjs - MobX 对象更新时 React 组件不更新
- c++ - 使用 Visual Studio 2019 和 cmake 调试 Yaml_cpp
- jenkins - 如何在 groovy 中解析 JSON 数组
- android - UPI 深层链接请求失败
- laravel - 安装 Laravel Valet 时的问题
- excel - 如何使用 excel VBA/宏在网格中填充数组公式(使用多个条件)?
- django - django heroku 部署 postgres 配置
- c# - 字符之一匹配的断行
- linux - 为什么我在ansible中看到remote_user应该是字符串错误?