Alertmanager 通知模板
通知模板
告警通知使用的是默认模版,因为它已经编译到二进制包了,所以我们不需要额外配置。如果我们想自定义模版,这又该如何配置呢?
Alertmanager 默认使用的通知模板可以从 alertmanager/default.tmpl at main · prometheus/alertmanager · GitHub
获取,Alertmanager 的通知模板是基于 Golang 的模板系统,当然也支持用户自定义和使用自己的模板。
第一种方式是基于模板字符串,直接在 Alertmanager 的配置文件中使用模板字符串,如下所示:
receivers:- name: "slack-notifications"slack_configs:- channel: "#alerts"text: "https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}"
直接在配置文件中可以使用一些模板字符串,比如获取 {{ .GroupLabels }}
下面的一些属性。
另外一种方法就是直接修改官方默认的模板,此外也可以自定义可复用的模板文件,比如针对 email 的模板,我们可以创建一个名为 template_email.tmpl
的自定义模板文件,如下所示:
apiVersion: v1
kind: ConfigMap
metadata:name: alert-confignamespace: kube-mon
data:config.yml: |-global: # 全局配置......route: # 路由......templates: # 增加 templates 配置,指定模板文件- '/etc/alertmanager/template_email.tmpl'receivers: # 接收器- name: 'email'email_configs:- to: '517554016@qq.com'send_resolved: truehtml: '{{ template "email.html" . }}' # 此处通过 html 指定模板文件中定义的 email.html 模板# 下面定义 email.html 必须和上面指定的一致,注释不能写进模板文件中template_email.tmpl: |-{{ define "email.html" }} {{- if gt (len .Alerts.Firing) 0 -}}{{ range .Alerts }}@报警<br><strong>实例:</strong> {{ .Labels.instance }}<br><strong>概述:</strong> {{ .Annotations.summary }}<br><strong>详情:</strong> {{ .Annotations.description }}<br><strong>时间:</strong> {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br>{{ end }}{{ end -}}<br>{{- if gt (len .Alerts.Resolved) 0 -}}{{ range .Alerts }}<br>@恢复<br><strong>实例:</strong> {{ .Labels.instance }}<br><strong>信息:</strong> {{ .Annotations.summary }}<br><strong>恢复:</strong> {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br>{{ end }}{{ end -}}{{- end }}
在 Alertmanager 配置中通过 templates
属性来指定我们自定义的模板路径,这里我们定义的 template_email.tmpl
模板会通过 Configmap 挂载到 /etc/alertmanager
路径下,模板中通过 {{ define "email.html" }}
定义了一个名为 email.html
的命名模板,然后在 email 的接收器中通过 email_configs.html
来指定定义的命名模板即可。更新上面 Alertmanager 的配置对象,重启 Alertmanager 服务,然后等待告警发出,即可看到我们如下所示自定义的模板信息:
Alertmanager 通知模板相关推荐
- 制度罚则--上线结果通知模板
本文在研发组织管理中的位置: 研发组织管理--制度&罚则--上线结果通知模板 目的 1.将上线的结果周知到干系人,使相关人员能知道上线是否成功,上线过程是否顺利,有无遗留问题需要跟进. 2.次 ...
- 考研英语二小作文 通知模板 夏令营
通知模板 格式要求 第一段 第二段 第三段
- Zabbix告警通知模板
告警通知模板: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警对象:{TRIGGER.KEY1} ...
- 端午节员工放假通知怎么写?端午放假通知模板范文保存到便签上
端午节马上就要到了,2022年的端午节放假时间是公历6月3日.4日.5日共三天时间,并且没有其他调休安排.有不少公司在端午节放假之前,都是要提醒发出放假通知的,那么端午员工放假通知应该怎么写呢? 其实 ...
- 监控服务(新增)错误日志脚本并发送DingDing|邮件通知模板
文章目录 1.监控模板 2.使用脚本 3.效果 4.如何安装DingDing和邮件服务器 5.拓展 1.监控模板 该模板支持 (1)DingDing告警与邮件告警 (2)自定义监控日志的黑名单与白名单 ...
- 定义zabbix_action报警通知模板
报警:{ITEM.NAME} 主机:{HOST.NAME} 故障时间:{EVENT.DATE} {EVENT.TIME} 报警时间:{DATE} {TIME} 故障持续:{EVENT.AGE} 级别: ...
- Jenkins邮件通知模板(Git修改版)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 运维监控系列(15)-Alertmanager添加163邮箱、钉钉、微信告警通知功能
163邮箱 可用通过邮件方式进行告警通知的发送,接着上篇文档,我们配置发送邮件告警方式. 1. 设置163邮箱 发送邮件,需要smtp邮件服务器,首先需要对网易邮箱进行设置. 首先登陆163邮箱,进入 ...
- .NET Core 小程序开发零基础系列(2)——小程序服务通知(模板消息)
基于上一篇文件".NET Core 小程序开发零基础系列(1)--开发者启用并校验牵手成功"的反映,个人觉得效果很不错,大家对公众号开发还是有很大需求的,同时也收到了很多同学的问题 ...
- 五一劳动节放假通知的模板(通用版5篇)
五一假期马上就要来了,整理了关于如何写公司五一劳动节放假通知的模板内容: 五一劳动节放假通知模板一: 全体员工: 五一劳动节来临之际,根据国家办公厅公布的<20xx年节假日安排的通知>的 ...
最新文章
- Celery 使用(一)
- Docker中部署项目到容器
- bootstrap-select采坑
- transmac使用方法_Mac苹果电脑降级方法?
- 计算机专业实践试题,计算机专业实践综合试题答案..doc
- NLP将迎来黄金十年,7个案例带你入门(附Python代码)
- 【立即报名】解码AI大杀器:华为云GPU+Tensorflow 容器实战
- sanic set up
- 【运动学】基于matlab GUI模拟鱼类目标追击问题【含Matlab源码 166期】
- ol xyz 加载天地图_OpenLayers 3 之 加载天地图
- centos6查看运行服务器,centos如何查看端口是否开放_网站服务器运行维护,centos,端口...
- 摸爬滚打DirectX11_day_11——三维天空
- linux git rabit,Linux 安装 RabbitMQ
- 文法去除空产生式_文法的二义性和化简
- ninja源码下载及编译(Win10+VS2019)
- Python实现简单电话簿
- Ristretto—SqueezeNet示例详解
- UR机器人(1)-安装和设置
- vc调试多线程程序的方法
- 论文精读(一)landsat时间序列变化检测
热门文章
- Error staring Tomcat Cannot connect to VM错误解决办法
- Java语言基础03-标识符、关键字、字面值、变量、数据类型
- V社线下沙龙·深圳站——12.05(周六)
- stm32 CAN通信 TJA1040
- SQL Server 2019下载及安装详细教程
- 计算机d盘可以格式化吗,能将电脑的D盘直接格式化了吗
- 计算机刷新定义,刷新计数器
- JVM 内存分析神器 MAT: Shallow Heap Vs Retained Heap 你理解的对吗?
- 【OpenGL ES】EGL简介
- python 求特征值特征向量 numpy.linalg.eig()