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

如何编写汇总Prometheus指标network_overall_status_dut并返回整体状态

生成Prometheus汇总指标network_overall_status_dut的解决方案

你可以通过两种方式实现需求,以下是具体的PromQL和配置方法:

方法一:布尔逻辑运算

直接利用布尔表达式结合bool修饰符将结果转换为0/1值:

network_overall_status_dut = bool (network_status_up_dut == 1 and network_status_down_dut == 1)

说明:只有当network_status_up_dut和network_status_down_dut同时为1时,表达式返回1;任意一个指标为0时,返回0,完全匹配你的需求。

方法二:聚合函数min()

如果两个指标的标签集完全一致,也可以使用min()聚合函数:

network_overall_status_dut = min by () (network_status_up_dut, network_status_down_dut)

说明:min()会取两个指标值中的最小值,当两者都为1时结果为1,只要有一个是0结果就为0,同样满足要求。如果指标带有共有的标签,需要将by ()替换为by (label1, label2)(列出所有共同标签),确保聚合逻辑正确。

持久化汇总指标(可选)

如果需要长期保存这个汇总指标,可以在Prometheus的配置文件中添加记录规则:

groups:
- name: network_status_rules
  rules:
  - record: network_overall_status_dut
    expr: bool (network_status_up_dut == 1 and network_status_down_dut == 1)
    # 若使用min方法,替换为对应的expr即可

内容的提问来源于stack exchange,提问作者ramesh k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:57:12