尝试使用警报管理器配置普罗米修斯但规则文件出错

Trying to configure prometheus with alert manager but getting error with rules file

在我的 prometheus.yml 中,规则文件称为 rules.yml,它有这个

---
groups:
  - name: example
    rules:
      - alert: ServiceDown
        expr: up == 0
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: cannot connect to {{ $labels.job }}

当我 运行 sudo ./promtool check config rules.yml 我得到错误

Checking rules.yml
  FAILED: parsing YAML file rules.yml: yaml: unmarshal errors:
  line 2: field groups not found in type config.plain

我不确定我在关注这个问题时出了什么问题https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/

Prometheus 版本为 2.18.1

希望得到某人的帮助

谢谢 KK

您正在使用 Prometheus 配置文件中的 "rule_file" 子句加载 rules.yml,对吗?

rule_files:
  - rules.yml

我注意到我们不能直接对规则文件执行"promtool check config",但如果你对 Prometheus 配置文件执行它,它会正确检查规则文件:

$ promtool check config prometheus.yaml

Checking prometheus.yaml
  SUCCESS: 1 rule files found

Checking rules.yaml
  SUCCESS: 18 rules found