天天看點

郵件,釘釘,企業微信告警模闆

alertmanager.yml

global:
  resolve_timeout: 5m
  # smtp config
  smtp_from: "[email protected]"
  smtp_smarthost: 'email-smtp.us-west-2.amazonaws.com:25'
  smtp_auth_username: "1"
  smtp_auth_password: "2"
  #smtp_require_tls: true
templates:
  - '/data/alertmanager/template/*.tmpl'
route:
  receiver: webhook1
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 1h
  group_by: [alertname]
  routes:

    # team1 webhook
    - receiver: webhook1
      group_wait: 10s
      match:
        team: team1
    # team2 webhook
    - receiver: webhook2
      group_wait: 10s
      match:
        team: team2

receivers:
  - name: webhook1
    email_configs:
      - to: '[email protected]'
        headers: { Subject: "[Team1] 報警郵件"} # 接收郵件的标題
    webhook_configs:
      - url: http://localhost:8060/dingtalk/ops/send
  - name: webhook2
    email_configs:
      - to: '[email protected]'
        send_resolved: true
        headers: { Subject: "[Team2] 報警郵件"}
    webhook_configs:
      - url: http://localhost:8060/dingtalk/ops/send
    wechat_configs:
      - corp_id: 'wwxxxxxxxxxxxxxx86'
        to_party: '2'
        agent_id: '1000002'
        api_secret: '8i7EHfxxxxxxxxxxxxxxxxiofUQM0'
        send_resolved: true
           

wechat.tmpl

{{ define "wechat.default.message" }}
  {{ if gt (len .Alerts.Firing) 0 -}}
  ☸ Alerts Firing ✖️ ‼️ :
  {{ range .Alerts }}
  ☎️ 觸發警報 ☔ ☠️ : {{ .Labels.alertname }}
  ☞名稱空間: {{ .Labels.namespace }}
  ☞主機: {{ .Labels.instance }}
  ☞job: {{ .Labels.job }}
  ->涉及容器名稱: {{ .Labels.container }}
  ->Pod名稱: {{ .Labels.pod }}
  告警級别: {{ .Labels.severity }}
  告警詳情: {{ .Annotations.description }}
  觸發時間⏱: {{ .StartsAt.Format "2006-01-02 15:04:05" }}
  警報連結: {{ .GeneratorURL }}
  ✍️ 備注詳情❄️: {{ .Annotations.runbook_url }}
  -------------------->END<--------------------
  {{- end }}
  {{- end }}
  {{ if gt (len .Alerts.Resolved) 0 -}}
  ☸ Alerts Resolved ✔️:
  {{ range .Alerts }}
  ☎️ 觸發警報 ☫ : {{ .Labels.alertname }}
  ♥️ 名稱空間 ✝️ : {{ .Labels.namespace }}
  ♥️ ->涉及容器名稱: {{ .Labels.container }}
  ♥️ ->Pod名稱☸: {{ .Labels.pod }}
  ♥️ 告警級别: {{ .Labels.severity }}
  ♥️ 告警詳情: {{ .Annotations.description }}
  ♥️ 觸發時間 ⏱ : {{ .StartsAt.Format "2006-01-02 15:04:05" }}
  ♥️ 恢複時間 ⏲ : {{ .EndsAt.Format "2006-01-02 15:04:05" }}
  ♥️ 備注詳情: {{ .Annotations.runbook_url }}
  {{- end }}
  {{- end }}
  {{- end }}
           

email.tmpl

{{ define "email.to.html" }}
  {{ if gt (len .Alerts.Firing) 0 -}}
  ? Alerts Firing ?? ?? : <br>
  <br>
  <br>
  {{ range .Alerts }}
 -------------------->START<-------------------- <br>
  ?? 觸發警報 ? ?? : {{ .Labels.alertname }} <br>
  ?? 告警級别: {{ .Labels.severity }} <br>
  ?? 觸發時間?: {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} <br>
  ?? 告警詳情: {{ .Annotations.message }} <br>
  ?? 警報連結: {{ .GeneratorURL }}  <br>
  ?? 備注詳情??: {{ .Annotations.runbook_url }} <br>
  -------------------->END<-------------------- <br>
  <br>
  <br>
  {{- end }}
  {{- end }}
  {{ if gt (len .Alerts.Resolved) 0 -}}
  ? Alerts Resolved ??: <br>
  {{ range .Alerts }}
  -------------------->START<-------------------- <br>
  ?? 觸發警報 ? : {{ .Labels.alertname }} <br>
  ?? 告警級别: {{ .Labels.severity }} <br>
  ? 觸發時間 ?: {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} <br>
  ? 恢複時間 ?: {{ (.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} <br>
  ?? 告警詳情: {{ .Annotations.message }} <br>
  ?? 警報連結: {{ .GeneratorURL }}  <br>
  ?? 備注詳情: {{ .Annotations.runbook_url }} <br>
  -------------------->END<-------------------- <br>
  <br>
  <br>
  {{- end }}
  {{- end }}
  {{- end }}

           

dingtalk_custom_tempalte.tmpl

{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
{{ define "__alertmanagerURL" }}{{ .ExternalURL }}/#/alerts?receiver={{ .Receiver }}{{ end }}

{{ define "__text_alert_list" }}{{ range . }}
**Labels**
{{ range .Labels.SortedPairs }}> - {{ .Name }}: {{ .Value | markdown | html }}
{{ end }}
**Annotations**
{{ range .Annotations.SortedPairs }}> - {{ .Name }}: {{ .Value | markdown | html }}
{{ end }}
**Source:** [{{ .GeneratorURL }}]({{ .GeneratorURL }})
{{ end }}{{ end }}

{{ define "default.__text_alert_list" }}{{ range . }}
---
**告警級别:** {{ .Labels.severity | upper }}

**概覽:** {{ .Annotations.summary }}

**Trigger Time:** {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}

**描述:** {{ .Annotations.description }}

**圖表:** [檢視圖表]({{ .GeneratorURL }})

**詳情:**
{{ range .Labels.SortedPairs }}{{ if and (ne (.Name) "severity") (ne (.Name) "summary") }}> - {{ .Name }}: {{ .Value | markdown | html }}
{{ end }}{{ end }}
{{ end }}
{{ end }}

{{/* Default */}}
{{ define "default.title" }}{{ template "__subject" . }}{{ end }}
{{ define "default.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**
{{ if gt (len .Alerts.Firing) 0 -}}
**發生告警**
{{ template "default.__text_alert_list" .Alerts.Firing }}
{{- end }}
{{ if gt (len .Alerts.Resolved) 0 -}}
**告警恢複**
{{ template "default.__text_alert_list" .Alerts.Resolved }}
{{- end }}
{{- end }}

{{/* Legacy */}}
{{ define "legacy.title" }}{{ template "__subject" . }}{{ end }}
{{ define "legacy.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**
{{ template "__text_alert_list" .Alerts.Firing }}
{{- end }}

{{/* Following names for compatibility */}}
{{ define "ding.link.title" }}{{ template "default.title" . }}{{ end }}
{{ define "ding.link.content" }}{{ template "default.content" . }}{{ end }}