kubernetes operator安装 的Prometheus,如果不会可以参考使用Operator部署Prometheus前提:创建企业微信,创建应用

然后配置altermanager.yaml

global:  resolve_timeout: 5mreceivers:- name: wechat  wechat_configs:  - agent_id: "100000x"    api_secret: Nm7PRrxxxxG8EpkyWuXDAWMLmFo    corp_id: wwf9d3833cd2323ewdd    send_resolved: true    to_user: Jokerroute:  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,如下:

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

如下先删除,再创建

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

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


©著作权归作者所有:来自51CTO博客作者mb5ff97f7b72697的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 华为防火墙双机热备(VRRP)的配置实例
  2. python集合类型实例
  3. H3C服务器红灯故障解决方案
  4. 【spring】别被一个FactoryBean问蒙了
  5. C# EmguCV图像处理实例
  6. 第7章 0202-面向对象编程基础,学习心得、笔记(类声明,类的实例化,类
  7. 西门子PLC s7-1200 1500 modbus-rtu通信实例编程详细指导
  8. vue学习之路(组件)
  9. PHP基础: 类(class)的声明,实例化,静态成员和类的扩展﹑trait的功

随机推荐

  1. ASP.NET MVC重写的实例教程
  2. Asp.Net中Session失效是怎么解决的?
  3. MVC实现下拉框联动的实例详解
  4. C#怎么将 HTML转换为图片或 PDF?
  5. C#开发微信门户及应用(一)之微信接口的如
  6. Enum扩展特性实例代码
  7. C#中关于扩展方法的实例分析
  8. 详细介绍一个.net开源权限管理系统
  9. 总结一些编码和设计原则实例
  10. C#中如何格式化json字符串的方法分析