我们正在使用 Prometheus、Alertmanager 和 Grafana 的组合来监控 HPC 计算集群。在我们的机器上,SWAP 内存填满到极限之类的事情经常发生,虽然info
在 Grafana Alerts 仪表板中查看相应级别的警报很有用,但我们最好不要发送相应的电子邮件。
有没有办法静音/禁用所有info
在alertmanager.yml
配置文件中具有严重性的警报电子邮件?
所有警报的定义都与此类似(根据https://awesome-prometheus-alerts.grep.to/rules.html):
- alert: HostSwapIsFillingUp
expr: (1 - (node_memory_SwapFree_bytes / node_memory_SwapTotal_bytes)) * 100 > 95
for: 60m
labels:
severity: info
annotations:
summary: Host swap is filling up (instance {{ $labels.instance }})
description: "Swap is filling up (>95%)\n VALUE = {{ $value }}"
文件中的相应部分alertmanager.yml
内容如下
routes:
- match:
severity: 'warning'
repeat_interval: 24h
continue: true
- match:
severity: 'info'
repeat_interval: 24h
continue: true
receiver: dropped
receivers:
- name: 'admin-mails'
email_configs:
- to: 'admins@DOMAIN'
- name: 'dropped'
email_configs:
- to: 'admins@DOMAIN'
是否有可能确保info
级别警报永远不会引发电子邮件,同时仍让它们“触发”,以便 Grafana 显示它们?
答案1
经过反复尝试后,下面的方法似乎可以解决问题:
routes:
- match:
severity: 'warning'
repeat_interval: 24h
continue: true
- match:
severity: 'info'
repeat_interval: 24h
continue: true
receiver: dropped
receivers:
- name: 'admin-mails'
email_configs:
- to: 'admins@DOMAIN'
- name: 'dropped'
因此,我们的想法是简单地取消配置接收器。这样,就不会再生成任何电子邮件,但警报仍会显示在 Grafana 中。
我将把这个留在这里以防其他人遇到同样的问题。