alertmanager 郵件告警&自定義告警模板


准備工作

1. 准備163郵箱

2. 登錄163郵箱 設置中開啟 SMTP功能

 

 3. 新增授權碼,需要保存后面配置文件需要用到

 

alertmanage 配置

配置文件

global:
  #resolve_timeout: 5m
  smtp_smarthost: 'smtp.163.com:25'         # 163 smtp 服務器地址
  smtp_from: 'super@163.com'                # 告警郵件地址
  smtp_auth_username: 'super'               # 認證用戶名
  smtp_auth_password: 'xxxx'                # 認證秘鑰
  smtp_require_tls: false                   # 不啟用 ssl
templates:
  - './template/alertmanager-email.tmpl'    # 讀取自定義通知模板定義的文件。  
route:                                      # 路由組
  group_by: ['alertname', 'app'] 
  group_wait: 30s
  group_interval: 40s
  repeat_interval: 1m
  receiver: email-receiver                 # 發送給那個組
receivers:                                 # 收件人組
- name: 'email-receiver'
  email_configs:
  - to: 'xx1@sina.com'                       # 收件人地址
    html: '{{ template "email.to.html" . }}' # HTML模板文件正文
    send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match_re:
      severity: '.*'
    equal: ['instance']
# 文章原文: https://www.cnblogs.com/yanshicheng/p/15548449.html

模板文件

https://www.cnblogs.com/yanshicheng/p/15548449.html
[root@ops alertmanager]# cat template/alertmanager-email.tmpl {{ define "email.to.html" }} {{- if gt (len .Alerts.Firing) 0 -}} {{- range $index, $alert := .Alerts -}} ========= <span style=color:red;font-size:36px;font-weight:bold;> 監控告警 </span>=========<br> <span style=font-size:20px;font-weight:bold;> 告警程序:</span> Alertmanager <br> <span style=font-size:20px;font-weight:bold;> 告警類型:</span> {{ $alert.Labels.alertname }} <br> <span style=font-size:20px;font-weight:bold;> 告警級別:</span> {{ $alert.Labels.severity }} 級 <br> <span style=font-size:20px;font-weight:bold;> 告警狀態:</span> {{ .Status }} <br> <span style=font-size:20px;font-weight:bold;> 故障主機:</span> {{ $alert.Labels.instance }} {{ $alert.Labels.device }} <br> <span style=font-size:20px;font-weight:bold;> 告警主題:</span> {{ .Annotations.summary }} <br> <span style=font-size:20px;font-weight:bold;> 告警詳情:</span> {{ $alert.Annotations.message }}{{ $alert.Annotations.description}} <br> <span style=font-size:20px;font-weight:bold;> 主機標簽:</span> {{ range .Labels.SortedPairs }} <br> [{{ .Name }}: {{ .Value | html }} ]{{ end }}<br> <span style=font-size:20px;font-weight:bold;> 故障時間:</span> {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br> ========= = end = =========<br> <br> <br> <br> <br> <div> <div style=margin:40px> <p style=font-size:20px>運維部門</p> <p style=color:red;font-size:14px> (這是一封自動發送的郵件,請勿回復。) </p> </div> <div align=right style="margin:40px;border-top:solid 1px gray" id=bottomTime> <p style=margin-right:20px> Super Ops 開源運維平台 </p> <label style=margin-right:20px> {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 " }}<br> </label> </div> </div> {{- end }} {{- end }} {{- if gt (len .Alerts.Resolved) 0 -}} {{- range $index, $alert := .Alerts -}} ========= <span style=color:#00FF00;font-size:24px;font-weight:bold;> 告警恢復 </span>=========<br> <span style=font-size:20px;font-weight:bold;> 告警程序:</span> Alertmanager <br> <span style=font-size:20px;font-weight:bold;> 告警主題:</span> {{ $alert.Annotations.summary }}<br> <span style=font-size:20px;font-weight:bold;> 告警主機:</span> {{ .Labels.instance }} <br> <span style=font-size:20px;font-weight:bold;> 告警類型:</span> {{ .Labels.alertname }}<br> <span style=font-size:20px;font-weight:bold;> 告警級別:</span> {{ $alert.Labels.severity }} 級 <br> <span style=font-size:20px;font-weight:bold;> 告警狀態:</span> {{ .Status }}<br> <span style=font-size:20px;font-weight:bold;> 告警詳情:</span> {{ $alert.Annotations.message }}{{ $alert.Annotations.description}}<br> <span style=font-size:20px;font-weight:bold;> 故障時間:</span> {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br> <span style=font-size:20px;font-weight:bold;> 恢復時間:</span> {{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br> {{- end }} ========= = end = ========= <br> <br> <br> <br> <div> <div style=margin:40px> <p style=font-size:20px>運維部門</p> <p style=color:red;font-size:14px> (這是一封自動發送的郵件,請勿回復。) </p> </div> <div align=right style="margin:40px;border-top:solid 1px gray" id=bottomTime> <p style=margin-right:20px> Super Ops 開源運維平台 </p> <label style=margin-right:20px> {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 " }}<br> </label> </div> </div> {{- end }} {{- end }} {{- end }}

效果演示

告警郵件

告警恢復

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM