prometheus-operator 之企業(yè)郵箱告警

1.1.1.5 內(nèi)網(wǎng)服務(wù)器 k8s master(修改默認(rèn)告警系統(tǒng))
1.1.1.1 外部機(jī)器(搭建郵件轉(zhuǎn)發(fā)nginx)

1. nginx搭建

cat nginx.conf

stream{

    server{
        listen 4650;
        proxy_pass exmail.xxx.com:587;

          }
      }


2. 告警系統(tǒng)

此配置只適用企業(yè)郵箱,qq網(wǎng)易郵箱得自行網(wǎng)上尋找配置

2.1 alertmanager.yaml
mkdir -p /home/kubernetes/k8s/app/alertmanager_alert
cd /home/kubernetes/k8s/app/alertmanager_alert
touch alertmanager.yaml

#cat alertmanager.yaml
global:
  resolve_timeout: 5m
  smtp_smarthost: '1.1.1.1:4650'
  smtp_from: '123@xxx.com'
  smtp_auth_username: '123@xxx.com'
  smtp_auth_password: 'password'
  smtp_hello: 'xxx.com'
  smtp_require_tls: true

templates:
  - "./*.tmpl"

receivers:
- name: "email"
  email_configs:
  - to: '456@xxx.com'
    html: '{{ template "email.html" . }}'
    send_resolved: true
    tls_config:
      insecure_skip_verify: true

route:
  group_by:
  - job
  group_interval: 30s
  group_wait: 5s
  receiver: "email"
  repeat_interval: 12h

2.2 新增告警模板
cd /home/kubernetes/k8s/app/alertmanager_alert
mkdir template
touch template/email.tmpl

#cat touch template/email.tmpl
#抄的 http://www.manongjc.com/detail/26-ysorykovlufnizt.html(http://www.manongjc.com/detail/26-ysorykovlufnizt.html)


{{ define "email.html" }}
{{- if gt (len .Alerts.Firing) 0 -}}
{{- range $index, $alert := .Alerts -}}

========= <span style=color:red;font-size:36px;font-weight:bold;> 監(jiān)控告警 </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;> 告警狀態(tài):</span>    {{ .Status }} <br>
<span style=font-size:20px;font-weight:bold;> 故障主機(jī):</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;> 主機(jī)標(biāo)簽:</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>xxxx</p>
        <p style=color:red;font-size:14px>
        (這是一封自動發(fā)送的郵件,請勿回復(fù)。)
        </p>
    </div>


    <div align=right style="margin:40px;border-top:solid 1px gray" id=bottomTime>
        <p style=margin-right:20px>
            xxx
        </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;> 告警恢復(fù) </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;> 告警主機(jī):</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;> 告警狀態(tài):</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;> 恢復(fù)時間:</span>    {{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br>
========= = end =  =========
<br>
<br>
<br>
<br>

<div>
    <div style=margin:40px>
        <p style=font-size:20px>xxxx</p>
        <p style=color:red;font-size:14px>
        (這是一封自動發(fā)送的郵件,請勿回復(fù)。)
        </p>
    </div>


    <div align=right style="margin:40px;border-top:solid 1px gray" id=bottomTime>
        <p style=margin-right:20px>
            xxx
        </p>
        <label style=margin-right:20px>
            {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 " }}<br>
        </label>
    </div>
</div>
{{- end }}
{{- end }}
{{- end }}


2.3 刪除默認(rèn)配置,換上新配置
cd /home/kubernetes/k8s/app/alertmanager_alert
kubectl delete -n monitoring secrets alertmanager-main
kubectl  create   secret generic  alertmanager-main --from-file=alertmanager.yaml --from-file=./template/email.tmpl -n monitoring
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容