Prometheus-告警恢复发送微信通知

https://www.e-learn.cn/content/qita/2638665

AlertManager警报通知 E-mail 微信 模板

#AlertManager配置

#alertmanager.yml

全局配置项

global:
resolve_timeout: 5m #超时,默认5min
#邮箱smtp服务
smtp_smarthost: ‘smtp.qq.com:587’
smtp_from: ‘[email protected]
smtp_auth_username: ‘[email protected]
smtp_auth_password: ‘xxx密码’
smtp_hello: ‘qq.com’
#smtp_require_tls: false
#wechat
#wechat_api_url: “https://qyapi.weixin.qq.com/cgi-bin/”
wechat_api_corp_id: “wwe518* 企业微信账号唯一ID”
wechat_api_secret: “自定义应用 应用的密钥”

模板

templates:

  • ‘/alertmanager/*.tmpl’

路由

route:
group_by: [‘alertname’] # 报警分组依据
group_wait: 20s #组等待时间
group_interval: 20s # 发送前等待时间
repeat_interval: 12h #重复周期
receiver: ‘email’ # 默认警报接收者
#子路由
routes:

  • receiver: ‘wechat’
    match:
    severity: test #标签severity为test时满足条件,使用wechat警报

警报接收者

receivers:

  • name: ‘email’ #警报名称
    email_configs:

    • to: ‘[email protected]’ # 接收警报的email
      html: ‘{{ template “emai.html” . }}’ # 模板
      headers: { Subject: " {{ .CommonLabels.instance }} {{ .CommonAnnotations.summary }}" } #标题
  • name: ‘wechat’ #警报名称
    wechat_configs:

    • send_resolved: true
      to_party: ‘2’ #接收部门id
      agent_id: ‘1000002’ #应用ID
      to_user: ‘’
      to_tag: ‘’
      message: ‘{{ template “wechat.html” . }}’

      #send_resolved: true 恢复后通知

      to_user: 企业微信用户ID

      corp_id: 企业微信账号唯一ID 可以在 我的企业 查看

      to_party: 需要发送的组id

      agent_id: 应用的 ID,应用管理 --> 打开自定应用查看

      api_secret: 应用的密钥

      打开企业微信注册 https://work.weixin.qq.com

      微信API官方文档 https://work.weixin.qq.com/api/doc#90002/90151/90854

#email模板

vi email.tmpl

{{ define “emai.html” }}
{{ range .Alerts }}

实例: {{ .Labels.instance }}
信息: {{ .Annotations.summary }}
详情: {{ .Annotations.description }}
时间: {{ .StartsAt.Format "2006-01-02 15:04:05" }}
 

{{ end }}
{{ end }}

#微信模板

vi wecaht.tmpl

{{ define “wechat.html” }}
{{- if gt (len .Alerts.Firing) 0 -}}{{ range .Alerts }}
@警报
实例: {{ .Labels.instance }}
信息: {{ .Annotations.summary }}
详情: {{ .Annotations.description }}
时间: {{ .StartsAt.Format “2006-01-02 15:04:05” }}
{{ end }}{{ end -}}
{{- if gt (len .Alerts.Resolved) 0 -}}{{ range .Alerts }}
@恢复
实例: {{ .Labels.instance }}
信息: {{ .Annotations.summary }}
时间: {{ .StartsAt.Format “2006-01-02 15:04:05” }}
恢复: {{ .EndsAt.Format “2006-01-02 15:04:05” }}
{{ end }}{{ end -}}
{{- end }}

#警报通知内容,根据需求配置,我本人喜欢内容简洁

#邮件通知
E-mail

#微信通知
wechat

你可能感兴趣的:(Prometheus-告警恢复发送微信通知)