1、总览步骤
获取163邮箱授权码
配置Prometheus连接alertmanager
Prometheus中定义告警规则
设置alertmanager的报警媒介
触发报警,验证是否收到告警
2、配置邮箱
登录自己的163邮箱,设置授权码

3、修改alertmanager配置
修改alertmanager配置
注:请修改下列配置中的信息,包括邮箱地址,密码等等。
#二进制安装修改/opt/alertmanager/alertmanager.yml
#docker安装修改
cd /data/docker-prometheus
vim alertmanager/alertmanager.yml
#填入如下内容:
global:
#163服务器
smtp_smarthost: 'smtp.163.com:465'
#发邮件的邮箱
smtp_from: 'cdring@163.com'
#发邮件的邮箱用户名,也就是你的邮箱
smtp_auth_username: '邮箱地址'
#发邮件的邮箱密码
smtp_auth_password: 'your-password'
#tls验证配置,false为关闭
smtp_require_tls: false
route:
group_by: ['alertname']
# 当收到告警的时候,等待group_wait配置的时间10s,看是否还有告警,如果有就一起发出去
group_wait: 10s
# 如果上次告警信息发送成功,此时又来了一个新的告警数据,则需要等待group_interval配置的时间才可以发送出去
group_interval: 10s
# 如果上次告警信息发送成功,且问题没有解决,则等待 repeat_interval配置的时间再次发送告警数据
repeat_interval: 4h
# 全局报警组,这个参数是必选的,和下面报警组名要相同
receiver: 'email'
receivers:
- name: 'email'
#收邮件的邮箱
email_configs:
- to: '邮箱地址@163.com' # 这里请填写真实的邮箱地址
send_resolved: true
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']多个收邮件的邮箱账号配置,如下:
receivers:
- name: 'email'
#收邮件的邮箱
email_configs:
- to: 'user1@example.com'
- to: 'user2@example.com'
- to: 'user3@example.com'检查
cat alertmanager/alertmanager.yml重启alertmanager或者重新加载配置
#重载
curl -X POST http://localhost:9093/-/reload4、配置触发器
查看现有触发器
cat prometheus/alert.yml
#增加如下内容
groups:
- name: Prometheus alert
rules:
# 对任何实例超过30秒无法联系的情况发出警报
- alert: 服务告警
expr: up == 0
for: 30s
labels:
severity: critical
annotations:
instance: "{{ $labels.instance }}"
description: "{{ $labels.job }} 服务已关闭"访问告警模块的web页面
http://ip地址:9090/alerts
INACTIVE:活跃中,即表示正常无告警产生。
PENDING:待触发,表示已经达到预设的阈值,但没达到预设的时间。
FIRING:表示达到预设的阈值并超过预设的时间触发告警
5、测试告警是否正常
5.1、停止node-exporter
#docker环境
docker stop node-exporter
#二进制安装环境
systemctl stop node_exporter5.2、Prometheus查看
浏览器打开prometheus web管理页面--点击Alerts,
评论区