欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

alertmanager 告警恢复_Prometheus配置企业微信告警

发布时间:2023/12/3 编程问答 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 alertmanager 告警恢复_Prometheus配置企业微信告警 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

kubernetes operator安装的,如果不会可看上一篇文章
前提:创建企业微信,创建应用

然后配置altermanager.yaml

global:resolve_timeout: 5m receivers: - name: wechatwechat_configs:- agent_id: "100000x"api_secret: Nm7PRrxxxxG8EpkyWuXDAWMLmFocorp_id: wwf9d3833cd66f34d8send_resolved: trueto_user: Joker route:group_by:- jobgroup_interval: 5mgroup_wait: 30sreceiver: wechatrepeat_interval: 12hroutes:- match:alertname: Watchdogreceiver: 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,如下:

global:resolve_timeout: 5m receivers: - name: wechatwechat_configs:- agent_id: "100000x"api_secret: Nm7PRrxxxxG8EpkyWuXDAWMLmFocorp_id: wwf9d3833cd66f34d8send_resolved: trueto_user: Joker route:group_by:- jobgroup_interval: 5mgroup_wait: 30sreceiver: wechatrepeat_interval: 12hroutes:- match:alertname: Watchdogreceiver: wechat templates: - /etc/alertmanager/config/template.tmp1

如下先删除,再创建

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

然后报警出来就会好看些了。

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的alertmanager 告警恢复_Prometheus配置企业微信告警的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。