前面四篇已经详细讲解了Prometheus的整个结构体系架构、相关服务的部署、面板展示和企业邮箱告警,本篇主要讲解如何配置Prometheus的企业微信告警。
设置企业微信
目的主要是获取企业ID
,部门ID
,应用AgentId
和应用Secret
。
企业微信注册(已有企业微信账号请跳过)
企业微信注册地址:https://work.weixin.qq.com/
按照要求填写相应信息,注册企业微信
添加子部门
登录企业微信—>通讯录—>添加子部门—>添加成员
添加成员
记录部门ID
创建自建应用
登录企业微信—>应用管理—>创建应用
填写应用名称等信息,创建应用
创建应用后,记录应用的 AgentId 和 Secret
获取企业ID
登录企业微信—>我的企业
配置Alertmanager
修改Alertmanager配置文件
cat alertmanager.yml
global:
resolve_timeout: 2m
templates:
- '/usr/local/src/alertmanager/wechat.tmpl'
route:
group_by: ['alertname','cluster','service']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receiver: 'wechat'
receivers:
- name: 'wechat'
wechat_configs:
- corp_id: 'wwcd70xxxxxx2d836d'
api_url: 'https://qyapi.weixin.qq.com/cgi-bin/'
send_resolved: true
to_party: '2'
agent_id: '1000003'
api_secret: 'zRCRVyxYGd5ej49BxxxxxxPtI9caW53mqNVDxTnRIXM'
微信告警模板
{{ define "wechat.default.message" }}
{{ if gt (len .Alerts.Firing) 0 -}}
阿里云 故障告警: #此处自定义
{{ range .Alerts }}
告警级别:{{ .Labels.severity }}
告警类型:{{ .Labels.alertname }}
告警主机: {{ .Labels.instance }}
告警主题: {{ .Annotations.summary }}
告警详情: {{ .Annotations.description }}
⏱ : {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
============
====done====
============
{{- end }}
{{- end }}
{{ if gt (len .Alerts.Resolved) 0 -}}
阿里云 故障恢复: #此处自定义
{{ range .Alerts }}
告警级别:{{ .Labels.severity }}
告警类型:{{ .Labels.alertname }}
告警主机: {{ .Labels.instance }}
告警主题: {{ .Annotations.summary }}
告警详情: {{ .Annotations.description }}
⏱ : {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
⏲ : {{ (.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
============
====done====
============
{{- end }}
{{- end }}
{{- end }}
重启Alertmanager服务,触发告警
检查alertmanager.yml 配置是否正确
cd /usr/local/alertmanager
./amtool check-config alertmanager.yml
重启Alertmanager服务,并查看告警
ps -ef |grep alertmanager |grep -v grep |awk '{print $2}' | xargs kill -9 #停止Alertmanager服务
nohup ./alertmanager --config.file="alertmanager.yml" --web.listen-address=":9093" >> ./logs/alertmanager.log 2>&1 & #启动Alertmanager服务