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

如何为Prometheus特定JSON目标配置对应独立规则文件?

Prometheus 为特定节点组配置独立规则文件

实现思路

Prometheus没有直接为单个抓取任务绑定规则文件的配置项,但可以通过规则文件拆分+标签匹配的方式,让独立规则只作用于对应JSON文件里的节点。具体步骤如下:

1. 拆分规则文件

为node_exp.json对应的节点创建独立规则文件,比如命名为/etc/prometheus/node_exp_rules.yml,专门存放该节点组的告警或记录规则。

2. 修改prometheus.yml加载新规则文件

更新rule_files配置,加入新增的规则文件:

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - "/etc/prometheus/rules.yml"
  - "/etc/prometheus/node_exp_rules.yml"  # 对应node_exp.json的独立规则文件
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:
  - job_name: 'Prometheus Node Exporter'
    scheme: https
    tls_config:
      ca_file: node_exporter.crt
      insecure_skip_verify: true
    file_sd_configs:
      - files:
        - node_exp.json

3. 在独立规则中添加标签筛选

在node_exp_rules.yml里,所有规则都通过标签匹配目标节点组。可以用抓取任务的job标签,或者node_exp.json中自定义的节点标签:

groups:
- name: node_exp_alerts
  rules:
  - alert: NodeHighCPUUsage
    # 用job标签筛选该任务下的节点
    expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{job="Prometheus Node Exporter",mode="idle"}[1m])) * 100) > 80
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "节点 {{ $labels.instance }} CPU使用率过高"
      description: "{{ $labels.instance }} CPU使用率已超过80%(当前值: {{ $value }}%)"

如果你的node_exp.json里的节点有自定义标签(比如group: "node_exp"),也可以用这个标签来筛选,让规则更精准:

expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{group="node_exp",mode="idle"}[1m])) * 100) > 80

核心逻辑

通过拆分规则文件实现管理上的隔离,再通过标签匹配让规则只作用于目标节点组,就达到了“为对应JSON文件使用独立rules.yml”的需求。

内容的提问来源于stack exchange,提问作者Sanjay Nigam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:37:16