【博客693】alertmanager如何自定义告警template

news/2024/11/23 16:48:50/

alertmanager如何自定义告警template

配置alertmanager告警模版

template功能:
https://prometheus.io/blog/2016/03/03/custom-alertmanager-templates/

默认的template:
https://github.com/prometheus/alertmanager/blob/main/template/default.tmpl

配置template:

templates:- '/etc/alertmanager/alert.template'route:group_by: ['instance']group_wait: 30sgroup_interval: 30srepeat_interval: 120mreceiver: 'internal'routes:- receiver: 'internal'group_by: ['alertname','instance', 'group','job']
receivers:- name: 'internal'wechat_configs:- corp_id: 'xxxxx'api_url: 'https://qyapi.weixin.qq.com/cgi-bin/'send_resolved: trueto_user: 'zejia.lu'agent_id: 'xxxxxx'api_secret: 'xxxxxxxx'message: '{{ template "wechat.default.message" . }}'

自定义template模版:

{{ define "wechat.default.message" }}
{{- if gt (len .Alerts.Firing) 0 -}}
{{- range $index, $alert := .Alerts -}}
{{- if eq $index 0 }}
========= 监控报警 =========
告警状态:{{   .Status }}
告警级别:{{ .Labels.severity }}
告警类型:{{ $alert.Labels.alertname }}
故障主机: {{ $alert.Labels.instance }}
告警主题: {{ $alert.Annotations.summary }}
告警详情: {{ $alert.Annotations.message }}{{ $alert.Annotations.description}};
触发阀值:{{ .Annotations.value }}
故障时间: {{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
========== end ==========
{{- end }}
{{- end }}
{{- end }}
{{- if gt (len .Alerts.Resolved) 0 -}}
{{- range $index, $alert := .Alerts -}}
{{- if eq $index 0 }}
========= 异常恢复 =========
告警类型:{{ .Labels.alertname }}
告警状态:{{   .Status }}
告警主题: {{ $alert.Annotations.summary }}
告警详情: {{ $alert.Annotations.message }}{{ $alert.Annotations.description}};
故障时间: {{ ($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 }}
========== end ==========
{{- end }}
{{- end }}
{{- end }}
{{- end }}

效果:

告警触发

========= 监控报警 =========
告警状态:firing
告警级别:critical
告警类型:目标采集失败
故障主机: 1.1.1.1:10001
告警主题: Control Plane Instance metrics collect failed
告警详情: 1.1.1.1:10001 is unavailable for 15 seconds.;
触发阀值:
故障时间: 2023-08-07 11:43:02
========== end ==========

告警恢复

========= 异常恢复 =========
告警类型:目标采集失败
告警状态:resolved
告警主题: Control Plane Instance metrics collect failed
告警详情: 1.1.1.1:10001 is unavailable for 15 seconds.;
故障时间: 2023-08-07 11:43:02
恢复时间: 2023-08-07 11:49:02
实例信息: 1.1.1.1:10001
========== end ==========

http://www.ppmy.cn/news/1027050.html

相关文章

jQuery基本操作

目录 内容操作 HTML代码操作 标签内容操作 属性值操作 节点操作 查找节点 创建节点 插入节点 删除节点 替换节点 复制节点 属性操作 获取与设置元素属性 删除元素属性 节点遍历 遍历子元素 遍历同辈元素 遍历前辈元素 其他遍历方法 CSS-DOM操作 详细&#…

[OnWork.Tools]系列 00-目录

OnWork.Tools系列文章目录 OnWork.Tools系列 01-简介_末叶的博客-CSDN博客OnWork.Tools系列 02-安装_末叶的博客-CSDN博客OnWork.Tools系列 03-软件设置_末叶的博客-CSDN博客OnWork.Tools系列 04-快捷启动_末叶的博客-CSDN博客OnWork.Tools系列 05-系统工具_末叶的博客-CSDN博…

7.7.2 【C语言】一维数组名作函数参数

例&#xff1a;有一个一维数组score&#xff0c;内放10个学生成绩&#xff0c;求平均成绩。 #include <stdio.h> int main(){float average(float array[10]);float score[10],aver;int i;printf("input 10 scores:\n");for(i0;i<10;i)scanf("%f"…

OSPF技术入门(第三十四课)

1 OSPF的介绍 OSPF是一种链路状态路由协议,主要用于IP网络中的路由选择。它是一种开放协议,能够在不同的网络设备之间进行通信。OSPF利用链路状态数据库来描述网络拓扑结构,并通过Dijkstra算法计算出最短路径。它支持按照精确度划分的路由优先级,以及多个相等的路径,并能自…

泛微E-Office任意文件上传漏洞复现(HW0day)

0x01 产品简介 泛微E-Office是一款标准化的协同 OA 办公软件&#xff0c;泛微协同办公产品系列成员之一,实行通用化产品设计&#xff0c;充分贴合企业管理需求&#xff0c;本着简洁易用、高效智能的原则&#xff0c;为企业快速打造移动化、无纸化、数字化的办公平台。 0x02 漏…

2023国赛数学建模A题B题C题D题E题思路分析 2023全国大学生数学建模思路

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

中国首款量子计算机操作系统本源司南 PilotOS正式上线

中国安徽省量子计算工程研究中心近日宣布&#xff0c;中国国产量子计算机操作系统本源司南 PilotOS 客户端正式上线。 如果把量子芯片比喻成人的“心脏”&#xff0c;那么量子计算机操作系统就相当于人的“大脑”&#xff0c;量子计算应用软件则是人的“四肢”。 据安徽省量子…

QGIS3.28的二次开发六:VS不借助QT插件创建UI界面

上一篇博客我们说了在VS中如何使用QT插件来创建UI界面&#xff0c;但是我们二次开发QGIS的第一篇博客就说了&#xff0c;最好使用OSGeo4W中自动下载的QT进行QGIS二次开发&#xff0c;这样兼容性是最好的&#xff0c;那么该如何在VS中不使用外部安装的QT以及QT的VS插件情况下进行…