首页 > 解决方案 > 尝试使用警报管理器配置普罗米修斯,但规则文件出错

问题描述

在我的 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/

普罗米修斯版本是 2.18.1

希望得到某人的帮助

谢谢 KK

标签: prometheusprometheus-alertmanager

解决方案


您正在使用 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

推荐阅读