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

基于PromQL/MetricsQL实现Grafana按probe_success过滤显示状态码

解决Blackbox Exporter状态码过滤问题:仅显示probe_success为0的实例状态码

你遇到的问题是union操作会覆盖指标值,这里提供两种更可靠的解决方案:

方法一:用MetricsQL的join函数关联指标

通过join函数基于instance标签关联两个指标,只保留probe_success为0的实例对应的状态码,不会覆盖probe_http_status_code的数值:

join(
  label_keep(probe_success == 0, "instance"),
  label_keep(probe_http_status_code, "instance"),
  "instance"
)

如果你的指标还有其他需要关联的标签(比如job、module),可以调整label_keep保留对应标签,或者在join的第三个参数里添加多个标签(用逗号分隔),确保关联的准确性。

方法二:将probe_success转为标签后过滤

用label_set函数把probe_success的数值附加为probe_http_status_code的标签,之后在Grafana中通过标签过滤器筛选:

label_set(probe_http_status_code, "probe_success", probe_success)

执行这个查询后,每个状态码序列会带上probe_success标签(值为0或1)。在Grafana面板的过滤器中添加probe_success = 0的条件,就能只显示探测失败实例的HTTP状态码。

内容的提问来源于stack exchange,提问作者H. Müller

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:08:13