Prometheus配置企業微信告警

↑ 點擊上方「喬邊故事」關注咱們


kubernetes operator安裝 的Prometheus,若是不會能夠參考使用Operator部署Prometheusnode

前提:建立企業微信,建立應用web

而後配置altermanager.yamlapi

global:
  resolve_timeout: 5m
receivers:
- name: wechat
  wechat_configs:
  - agent_id: "100000x"
    api_secret: Nm7PRrxxxxG8EpkyWuXDAWMLmFo
    corp_id: wwf9d3833cd2323ewdd
    send_resolved: true
    to_user: Joker
route:
  group_by:
  - job
  group_interval: 5m
  group_wait: 30s
  receiver: wechat
  repeat_interval: 12h
  routes:
  - match:
      alertname: Watchdog
    receiver: wechat


而後刪除原有的alertmanager-main微信

kubectl delete secret alertmanager-main -n monitoring


從新建立運維

kubectl create secret generic alertmanager-main --from-file=alertmanager.yaml -n monitoring


而後就能夠收到告警了


不過如今這個告警很差看,咱們能夠自定義模板。

建立一個template.tmp1的文件。以下編輯器

{{ define "wechat.default.message" }}
{{- if gt (len .Alerts.Firing) 0 -}}
{{- range $index$alert := .Alerts -}}
{{- if eq $index 0 }}
==========異常告警==========
告警類型: {{ $alert.Labels.alertname }}
告警級別: {{ $alert.Labels.severity }}
告警詳情: {{ $alert.Annotations.message }}{{ $alert.Annotations.description}};{{$alert.Annotations.summary}}
故障時間: {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
{{- if gt (len $alert.Labels.instance) 0 }}
實例信息: {{ $alert.Labels.instance }}
{{- end }}
{{- if gt (len $alert.Labels.namespace) 0 }}
命名空間: {{ $alert.Labels.namespace }}
{{- end }}
{{- if gt (len $alert.Labels.node) 0 }}
節點信息: {{ $alert.Labels.node }}
{{- end }}
{{- if gt (len $alert.Labels.pod) 0 }}
實例名稱: {{ $alert.Labels.pod }}
{{- end }}
============END============
{{- end }}
{{- end }}
{{- end }}
{{- if gt (len .Alerts.Resolved) 0 -}}
{{- range $index$alert := .Alerts -}}
{{- if eq $index 0 }}
==========異常恢復==========
告警類型: {{ $alert.Labels.alertname }}
告警級別: {{ $alert.Labels.severity }}
告警詳情: {{ $alert.Annotations.message }}{{ $alert.Annotations.description}};{{$alert.Annotations.summary}}
故障時間: {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
恢復時間: {{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
{{- if gt (len $alert.Labels.instance) 0 }}
實例信息: {{ $alert.Labels.instance }}
{{- end }}
{{- if gt (len $alert.Labels.namespace) 0 }}
命名空間: {{ $alert.Labels.namespace }}
{{- end }}
{{- if gt (len $alert.Labels.node) 0 }}
節點信息: {{ $alert.Labels.node }}
{{- end }}
{{- if gt (len $alert.Labels.pod) 0 }}
實例名稱: {{ $alert.Labels.pod }}
{{- end }}
============END============
{{- end }}
{{- end }}
{{- end }}
{{- end }}


而後將其和上面的altermanager.yaml放到同一個secret中。
先修改altermanager.yaml,以下:url

global:
  resolve_timeout: 5m
receivers:
- name: wechat
  wechat_configs:
  - agent_id: "100000x"
    api_secret: Nm7PRrxxxxG8EpkyWuXDAWMLmFo
    corp_id: wwf9d3833cd66f34d8
    send_resolved: true
    to_user: Joker
route:
  group_by:
  - job
  group_interval: 5m
  group_wait: 30s
  receiver: wechat
  repeat_interval: 12h
  routes:
  - match:
      alertname: Watchdog
    receiver: wechat
templates:
- /etc/alertmanager/config/template.tmp1

以下先刪除,再建立spa

kubectl delete secret alertmanager-main -n monitoring
kubectl create secret generic alertmanager-main --from-file=alertmanager.yaml --from-file=template.tmp1 -n monitoring

而後報警出來就會好看些了。

.net

3d


-----------------------

公衆號:喬邊故事(ID:qiaobiangushi)

知乎: 喬邊故事

博客:極客運維

永遠不要高估本身,作一個謙遜又自信的人。

-----------------------

掃碼二維碼關注公衆號,不按期維護優質內容,技術乾貨!


舒適提示

若是你喜歡本文,請分享到朋友圈,想要得到更多信息,請關注我。




本文分享自微信公衆號 - 極客運維圈(qiaobiangushi)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索