四、配置AlertManager邮件报警规则
以下操作是在Prometheus监控端主机操作
# tar -xf alertmanager-0.20.0.linux-386.tar.gz
将解压的出alertmanager-0.20.0.linux-386移动到创建的/opt/prometheus/目录下 编辑alertmanager.yml设置邮件告警
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.163.com:465'
smtp_from: 'system71@163.com'
smtp_auth_username: 'system71@163.com'
smtp_auth_password: 'Ye1111111'
smtp_require_tls: false
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 10m
receiver: 'mail'
receivers:
- name: 'mail'
email_configs:
- to: '9146002@qq.com'
配置文件介绍
lobal:
? resolve_timeout //解析超时时间,也就是报警恢复不是立马发送的,而是在一个时间范围内不在触发报警,才能发送恢复报警,默认为5分钟
? smtp_from //收件人的邮箱地址
? smtp_smarthost //邮箱提供商的smtp地址
? smtp_auth_username //收件人的邮箱账号
? smtp_auth_password //邮箱授权码
? smtp_require_tls //是否需要tls协议,默认是true
? wechart_api_url //微信api地址
? wbchart_api_secret //密码
? wechat_api_corp_id //机器人应用的id
route:
? group_by //采用哪个标签作为分组
? group_wait //分组等待的时间,收到报警不是立马发送出去,而是等待一段时间,看看同一组中是否有其他报警,如果有一并发送
? group_interval //告警时间间隔
? repeat_interval //重复告警时间间隔,可以减少发送告警的频率
? receiver //接收者是谁
routes //子路由配置
receivers:
? name //接收者的名字,这里和route中的receiver对应
? email_configs
? - to //接收者的邮箱地址
创建编辑报警规则文件alert_rules.yml (更多规则可查看AlertManager报警规则) 我创建在/usr/local/prometheus目录下
groups:
- name: general.rules
rules:
- alert: 主机宕机
expr: up == 0
for: 5m
labels:
serverity: error
annotations:
summary: "主机 {{ $labels.instance }} 停止工作"
description: "{{ $labels.instance }} job {{ $labels.job }} 已经宕机5分钟以上!"
配置prometheus集成AlertManager 重新写入
# curl -XPOST http://localhost/-/reload
在网页可以看到规则
关闭被监控主机测试,收到邮件通知成功
实验所需的软件包
链接:https://pan.baidu.com/s/14IoLVCoRrMpo2iNprKYFEA
提取码:uqz4
|