zoukankan      html  css  js  c++  java
  • 邮件,钉钉,企业微信告警模板

    alertmanager.yml

    global:
      resolve_timeout: 5m
      # smtp config
      smtp_from: "prometheus-alert@example.com"
      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: 'xxxxxxxx@qq.com'
            headers: { Subject: "[Team1] 报警邮件"} # 接收邮件的标题
        webhook_configs:
          - url: http://localhost:8060/dingtalk/ops/send
      - name: webhook2
        email_configs:
          - to: 'xxxxxxxx@qq.com'
            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 }}
    
    
  • 相关阅读:
    SpringCloud
    SpringCloud
    一个表的字段更新另一个表的字段
    MYSQL5.7 sql_mode=only_full_group_by
    CentOS7 防火墙操作
    log4j DailyRollingFileAppender, DatePattern 配置
    Fiddler抓包-会话框添加查看get与post请求类型选项
    Fiddler抓包-工具介绍(request和response)
    Fiddler抓包-get与post请求
    Fiddler抓包-只抓APP的请求
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15591770.html
Copyright © 2011-2022 走看看