Alerting
告警有两个部分。 首先,向Prometheus添加警报规则(Alert rules),定义构成警报的逻辑和依据值。 其次,Alertmanager将触发警报转换为通知,例如电子邮件,页面和聊天消息。
先给prometheus添加告警规则后面手动触发下告警,在prometheus.yml 同目录创建文件rules.yml
groups:
- name: example
rules:
- alert: InstanceDown
expr: up == 0
for: 1m 然后在prometheus.yml 添加下面内容让prometheus去加载rules并配置prometheus使用alertmanager的信息
rule_files:
- rules.yml
alerting:
alertmanagers:
- static_configs:
- targets: ['localhost:9093']然后重新运行prometheus后停掉node_exporter后查询可以up == 0 可以看到down了

在prometheus的web页面的Alerts可以看到有告警生成

告警在未达到for的时间上限内状态为pending 达到了时间就会切成firing 并被发送到alertmanager,这里我们部署下alertmanager来处理告警
配置alertmanager,创建文件alertmanager.yml 写入下面信息。可以申请个163的邮箱开启pop3和smtp然后开启客户端密码即可。
然后运行alertmanager
然后访问alertmanager的web页面http://localhost:9093/

如果配置正确的话在你的邮件收件箱能看到如下图类似的告警邮件

这个基本设置让您对prometheus可以做的事情有所了解。 您可以向prometheus.yml添加更多target,您的警报也会自动为它们工作
在下一章中,我将重点介绍使用Prometheus的client library添加到自己的应用程序里
Last updated
Was this helpful?