You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Prometheus中简洁查询多实例的服务宕机状态

简洁实现多实例多服务宕机检测的PromQL写法

你可以通过分组统计+正则匹配的方式替代冗长的absent串联写法,具体实现如下:

推荐查询语句

count by(instance, process)(windows_process_start_time{instance=~"xxx:9182|yyy:9182", process=~"npop3|nreplica|nrouter|nsmtp|nldap|nhttp"}) == 0

逻辑说明

  1. 正则匹配目标范围:用=~运算符一次性匹配两个目标实例和所有需要检测的进程,避免逐个编写条件
  2. 分组统计存在状态:count by(instance, process)按「实例+进程」的组合分组,统计每个组合对应的时间序列数量
  3. 筛选宕机状态:== 0表示该「实例+进程」组合没有对应的时间序列,即服务未运行(宕机)

这种写法扩展性极强——后续新增实例或需要检测的服务时,只需要修改正则表达式中的内容即可,无需重复编写大量absent语句。

内容的提问来源于stack exchange,提问作者Ramsey Tajjour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:12:29