我正在尝试根据Prometheus规则中标签的值,将Alertmanager设置为发送给2个不同的接收者。例如,如果负责的团队标签等于Web,则将其发送给Web小组接收者。如果reponsible_team标签等于数据库,请发送给数据库团队接收方。
我已经按照Alertmanager的文档进行操作,他们说您应该设置多个路由,并在其下面添加一个匹配,然后匹配labelName和labelValue。
route:
group_by: ['alertname','entity']
group_wait: 30s
group_interval: 5m
repeat_interval: 15m
receiver: default
routes:
- match:
responsible_team: 'TestTeam'
receiver: test_email
预期结果将是Alertmanager中任何带有负责团队标记为TestTeam的警报都将向我在test_email接收器中定义的电子邮件地址发送电子邮件。但是,当我应用这些更改并重新启动服务时,出现以下错误:
level = error ts = 2019-07-11T22:00:29.0405339Z caller = main.go:325 msg =“加载配置文件失败” file =“ C:\ Program Files \ AlertManager \ alertmanager.yml” err = “ yaml:解组错误:\ n第21行:在config.plain类型中找不到字段路由”
我尝试将版本更新为最新版本,但这似乎无法解决问题。
答案 0 :(得分:0)
我认为,为了使Yaml有效,必须将路线缩进“下方”路线
您也可以在此处https://prometheus.io/webtools/alerting/routing-tree-editor/使用可视编辑器来调试配置文件