https://hub.docker.com/r/prom/alertmanager
https://hub.docker.com/r/timonwong/prometheus-webhook-dingtalk
https://github.com/prometheus/alertmanager
https://github.com/timonwong/prometheus-webhook-dingtalk
https://github.com/daozzg/work_wechat_robot
https://github.com/huangwjwork/dingding_robot_alertmanager
https://open-dev.dingtalk.com/
Alertmanager 根据配置文件,对接收到的警报进行处理,发出告警。
# run
docker run -d --net=host --name alert --restart=always -v /data/site/docker/env/monitor/alertmanager/template:/etc/alertmanager/template:ro -v /data/site/docker/env/monitor/alertmanager/conf/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro -v /etc/localtime:/etc/localtime:ro docker.io/prom/alertmanager:latest
应用: monitor -> 添加服务: alertmanager
镜像: docker.io/prom/alertmanager:latest
卷:
/data/docker/monitor/alertmanager/template:/etc/alertmanager/template:ro
/data/docker/monitor/alertmanager/conf/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
/etc/localtime:/etc/localtime:ro
/data/file:/data/file
端口:9093-9093
vi /data/site/docker/env/monitor/alertmanager/conf/alertmanager-email.yml
global:
resolve_timeout: 2m
smtp_smarthost: 'smtp.qq.com:465' # QQ邮箱要注意
smtp_from: '13850000249@qq.com'
smtp_auth_username: '13850000249@qq.com'
smtp_auth_password: 'wamqnxylzsdgbhaa'
smtp_require_tls: false # QQ邮箱要注意
# 定义模板信心
templates:
- 'template/*.tmpl'
route:
group_by: ['alertname']
group_wait: 1m
group_interval: 1m
repeat_interval: 10m #重复间隔,这里设置为1m,生产环境设置为20m-30m左右
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: '13850000249@qq.com'
html: '{{ template "email.html" . }}' # 设定邮箱的内容模板
headers: { Subject: "[异常告警] 马上关注, 马上处理"} # 接收邮件的标题
send_resolved: true # 发送已解决通知
vi /data/site/docker/env/monitor/alertmanager/conf/alertmanager-wechat.yml
global:
resolve_timeout: 2m
smtp_smarthost: smtp.163.com:25
smtp_from: 12345678@163.com
smtp_auth_username: 12345678@163.com
smtp_auth_password: 123456 (授权码)
templates: ##消息模板
- '/etc/alertmanager/template/wechat.tmpl'
route:
group_by: ['alertname_wechat']
group_wait: 30s
group_interval: 60s
receiver: 'wechat' # 优先使用wechat发送
repeat_interval: 1h
routes: #子路由,使用email发送
- receiver: email
match_re:
serverity: email
receivers:
- name: 'email'
email_configs:
- to: '11111122@qq.com'
send_resolved: true # 发送已解决通知
- name: 'wechat'
wechat_configs:
- corp_id: 'wwd402ce40b1120f24' #企业ID
to_party: '2' # 通知组ID
agent_id: '1000002'
api_secret: '9nmYa4pWq63sQ123kToCbh_oNc' # 生成的secret
send_resolved: true
vi /data/site/docker/env/monitor/alertmanager/template/email.tmpl
{{ define "email.html" }}
<table border="1">
<tr>
<td>告警类型</td>
<td>告警实例</td>
<td>告警详情</td>
<td>触发阀值</td>
</tr>
{{ range $i, $alert := .Alerts }}
<tr>
<td>{{ index $alert.Labels "alertname" }}</td>
<td>{{ index $alert.Annotations "summary" }} {{ index $alert.Labels "instance" }}</td>
<td>{{ index $alert.Annotations "description" }}</td>
<td>{{ index $alert.Annotations "value" }}</td>
</tr>
{{ end }}
</table>
{{ end }}
vi /data/site/docker/env/monitor/alertmanager/template/wechat.tmpl
{{ define "wechat.default.message" }}
{{ range $i, $alert :=.Alerts }}
========监控报警==========
告警状态:{{ .Status }}
告警级别:{{ $alert.Labels.severity }}
告警类型:{{ $alert.Labels.alertname }}
告警应用:{{ $alert.Annotations.summary }}
告警主机:{{ $alert.Labels.instance }}
告警详情:{{ $alert.Annotations.description }}
触发阀值:{{ $alert.Annotations.value }}
告警时间:{{ $alert.StartsAt.Format "2006-01-02 15:04:05" }}
========end=============
{{ end }}
{{ end }}
https://blog.csdn.net/qq_29292203/article/details/106097170
https://blog.csdn.net/GaoShanman/article/details/88922282
https://blog.csdn.net/weixin_42562106/article/details/107826441
https://blog.csdn.net/An1090239782/article/details/105195179
https://www.codercto.com/a/42068.html