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

d92df00f3ce08745b20d51893080a12f.png
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


然后就可以收到告警了

c38fc4095dc28e2cd5c467cd0b64191b.png


不过现在这个告警不好看,我们可以自定义模板。
创建一个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

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

f4270d3ccbd697066155453cf0a4e5e9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API。 使用IdentityServer4 来实现使用客户端凭据保护ASP.NET Core Web API 访问。 IdentityServer4 GitHub: https://github.com/IdentityServer/IdentityServer4 IdentityServer 框架支持以下功能&…

JAVA多线程总结(笔记)

线程的特点 线程就是独立的执行路径;在线程运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程;main()称之为主线程,为系统的入口,用于执行整个程序;在一…

很有道理的内容

男生选女朋友最看重的是什么? 病毒营销陈轩 被赞同30万,被收藏24万,顶级病毒营销专家,加个人微信送书 12,540 人也赞同了该回答 有女孩给我发私信: “我是个很好的女孩,漂亮身材好,白领一枚&#xff0c…

学python后做什么工作好_学习完Python课程后可以做什么工作?

Python作为人工智能、大数据的首选编程语言,也是进入编程世界的理想选择,已经成为了大家都在追求学习的语言,那么学习Python之后到底可以做什么呢?为您详细的介绍一下。什么是Python?Python是一种面向对象解释型计算机程序设计语言。而且Py…

vue-beauty 的v-data-table数据单元不换行

原因由于css样式 .ant-table-tbody>tr>td, .ant-table-thead>tr>th {padding: 16px 8px;word-break: keep-all;white-space: nowrap; /*强制不换行*/ } 只需覆盖white-space的值就可以 如: .ant-table-tbody>tr>td {white-space:normal } 补…

用Middleware给ASP.NET Core Web API添加自己的授权验证

Web API,是一个能让前后端分离、解放前后端生产力的好东西。不过大部分公司应该都没能做到完全的前后端分离。API的实现方式有很 多,可以用ASP.NET Core、也可以用ASP.NET Web API、ASP.NET MVC、NancyFx等。说到Web API,不同的人有不同的做法…

公司电脑重装经验 ThinkPad E480 win7重装 电脑重装

***************************下面是20200813更新的****************************** 1.电脑的机械盘老是掉线 要重启才能找到 不用了 还是用自己的移动硬盘代替公司的D盘吧 拷贝也很慢 2.公司的c盘菜120G太小 就只安装必须使用的软件 外接移动硬盘代替电脑的D盘 可以用…

Java 内存泄露以及避免方法

转载自 Java 内存泄露以及避免方法 内存泄露: 是指在程序运行过程中会不断的分配内存空间,那些不再使用的内存空间应该即时回收它们,从而保证可以保证系统可以再次使用这些内存。如果存在无用的内存没有被收回来,那就是内存泄露。 说明…

Tomacat乱码解决

解决方法 解决后

体验Rabbitmq强大的【优先级队列】之轻松面对现实业务场景

说到队列的话,大家一定不会陌生,但是扯到优先级队列的话,还是有一部分同学是不清楚的,可能是不知道怎么去实现吧,其实呢,,,这东西已经烂大街了。。。很简单,用“堆”去实…

jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

转载自 jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令 1.Jstack 1.1 jstack能得到运行java程序的java stack和native stack的信息。可以轻松得知当前线程的运行情况。如下图所示 注:这个和thread dump是同样的结果。但是thread dump是用ki…

RabbitMQ消息队列应用

消息通信组件Net分布式系统的核心中间件之一,应用与系统高并发,各个组件之间解耦的依赖的场景。本框架采用消息队列中间件主要应用于两方面:一是解决部分高并发的业务处理;二是通过消息队列传输系统日志。目前业界使用较多的消息队…

vue插槽面试题_VUE面试题解析,半年出一篇,建议收藏!

回答范例:vuex是vue专用的状态管理库。它以全局方式集中管理应用的状态,并且可以保证状态变更的可预测性。vuex主要解决的问题是多组件之间状态共享的问题,利用各种组件通信方式,我们虽然能够做到状态共享。但是往往需要在多个组件…

常用数据库连接串与驱动总结

1、sql server驱动com.microsoft.sqlserver.jdbc.SQLServerDriver//sql验证jdbc:sqlserver://127.0.0.1:1433;databasenamemydb;Usersa;Password1712682、oracle驱动oracle.jdbc.driver.OracleDriverjdbc:oracle:thin:127.0.0.1:1521:orcl3、mysql驱动com.mysql.jdbc.Driverjdb…

Mysql8.0可以使用解压版 这个比较快 好像现在都是解压版了

https://blog.csdn.net/Charonmomo/article/details/98440968 MySQL-mysql 8.0.17安装 2019年08月04日 09:59:12 Charonmomo 阅读数 1654 标签: MySQL 更多 个人分类: MySQL 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版…

公式冒号是什么意思_三角学中,这么一堆公式其实就说了2个事而已

[遇见数学创作小组] 作者: 心如止水(Java程序员。善于把复杂的数学知识,简洁易懂地表达出来)在学三角这部分的时候,有些书习惯列出诱导公式(induction formula),都列出来的话可以写小半张纸。那什么是“诱导公式”呢?“诱导公式”…

.NET Core开发:项目实践

初始化项目 本来想详细讲一讲dotnet core的,但我对于dotnet core的研究还不到一星期,半吊子,脑子又笨,就不写那些理论出来误人子弟了,还是直接来一篇实践给大家做个参考。废话不多说,直接上项目&#xff0c…

如何使用jstack分析线程状态

转载自 如何使用jstack分析线程状态背景 记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那…

JAVA网络编程实战(笔记)

计算机网络简介 网络编程的目的: 无限电台。。。。传播交流信息,数据交换。通信 想要达到这个效果需要什么: 1.如何准确的定位网络上的一台主机 ip地址192.168.16.124: 端口,定位到这个计算机上的某个资源 2.找到…