部署Prometheus 和 Alertmanager略
安装包部署prometheus+Grafana+node_exporter_争取不加班!的博客-CSDN博客
prometheus监控报警部署Alertmanager_争取不加班!的博客-CSDN博客
编辑Alertmanager配置文件
vim alertmanager/alertmanager.yml
global:
resolve_timeout: 5m 处理超时时间,默认为5min
smtp_from: '158****0350@163.com' 发送邮箱名称
smtp_smarthost: 'smtp.163.com:25' 邮箱smtp服务器代理
smtp_auth_username: '158****0350@163.com' 邮箱名称
smtp_auth_password: 'URX****POWISND' 邮箱授权码需要开启
smtp_require_tls: false
# 定义路由树信息
route:
group_by: ['alertname'] 报警分组依据
group_wait: 20s 最初即第一次等待多久时间发送一组警报的通知
group_interval: 5m 在发送新警报前的等待时间
repeat_interval: 5m 发送重复警报的周期
receiver: 'email' 发送警报的接收者的名称
receivers:
- name: 'email' 和警报接收者名称一致
email_configs: 邮箱配置
- to: '1124****02@qq.com' 接收警报的email配置
send_resolved: true
inhibit_rules: #抑制规则
- source_match: #源标签
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
./amtool check-config alertmanager.yml #检测配置文件的语法
systemctl restart alertmanager.service 配置完重启
关掉node_exporter 测试邮箱是否收到告警
systemctl stop node_exporter
过一会可以看到邮件收到Firing状态报警了
systemctl start node_exporter然后启动 node服务看下邮件
可以看到邮件收到Resolved状态报警了
优化报警模板
vim /usr/local/alertmanager/email.tmpl
{{ define "email.from" }}158****0350@163.com{{ end }} 定义发送人
{{ define "email.to" }}112***402@qq.com{{ end }} 定义接收人
{{ define "email.to.html" }}
{{ range .Alerts }}
=========异常告警==========<br>
告警程序: prometheus_alert <br>
告警级别: {{ .Labels.severity }} 级 <br> 报警级别
告警类型: {{ .Labels.alertname }} <br>
故障主机: {{ .Labels.instance }} <br>
告警主题: {{ .Annotations.summary }} <br>
告警详情: {{ .Annotations.description }} <br>
触发时间: {{ .StartsAt.Add 28800e9.Format "2006-01-02 15:04:05" }} <br>
=========end==========<br>
{{ end }}
{{ end }}
vim alertmanager.yml 报警模板配置好后编辑配置文件
templates:
- '/usr/local/alertmanager/email.tmpl' 定义报警模板所在位置
receivers:
- name: 'email'
email_configs:
- to: '{{ template "email.to" . }}' 引用收件人
html: '{{ template "email.to.html" . }}' 引用上面配置的模板
send_resolved: true
然后重启alertmanager
systemctl restart alertmanager
systemctl stop node_exporter 停止node
邮箱报警就已经配置完成了。