Prometheus学习系列(四十)之报警模板参考
Prometheus创建并向Alertmanager发送警报,然后Alertmanager根据标签向不同的接收者发送通知。 接收器可以是众多集成中的一种,包括:Slack,PagerDuty,电子邮件或通过通用webhook接口的自定义集成。
发送给接收者的通知是通过模板构建的。 Alertmanager附带默认模板,但也可以自定义。 为避免混淆,请务必注意Alertmanager模板与Prometheus中的模板不同,但Prometheus模板还包括警报规则标签/注释中的模板。
Alertmanager的通知模板基于Go模板系统。 请注意,某些字段将作为文本进行评估,而其他字段将作为HTML进行评估,这将影响转义。
一、数据
Data
是传递给通知模板和webhook推送的结构。
Name | Type | Notes |
---|---|---|
Receiver | string | 定义通知将被发送到的接收者名称(松弛,电子邮件等)。 |
Status | string | 如果至少有一个警报被触发,则定义为触发,否则解析。 |
Alerts | Alert | 警报对象列表(见下文)。 |
GroupLabels | KV | 这些警报的标签按分组。 |
CommonLabels | KV | 所有警报共有的标签。 |
CommonAnnotations | KV | 所有警报的常用注释集。 用于有关警报的更长的其他信息串。 |
ExternalURL | string | 反向链接到发送通知的Alertmanager。 |
二、警报
Alert
为通知模板保留一个警报。
Name | Type | Notes |
---|---|---|
Status | string | 定义警报是已解决还是当前正在触发。 |
Labels | KV | 要附加到警报的一组标签。 |
Annotations | KV | 警报的一组注释。 |
StartsAt | time.Time | 警报开始发射的时间。 如果省略,则当前时间由Alertmanager分配。 |
EndsAt | time.Time | 仅在已知警报结束时间时设置。 否则设置为自上次收到警报以来的可配置超时时间。 |
GeneratorURL | string | 一个反向链接,用于标识此警报的生成实体。 |
三、KV
KV
是一组用于表示标签和注释的键/值字符串对。
type KV map[string]string
包含两个注释的注释示例:
{summary: "alert summary",description: "alert description",
}
除了直接访问存储为KV的数据(标签和注释)之外,还有用于排序,删除和查看LabelSet的方法:
KV方法
Name | Arguments | Returns | Notes |
---|---|---|---|
SortedPairs | - | Pairs (list of key/value string pairs.) | 返回键/值对的排序列表。 |
Remove | []string | KV | 返回没有给定键的键/值映射的副本。 |
Names | - | []string | 返回LabelSet中标签名称的名称。 |
Values | - | []string | 返回LabelSet中的值列表。 |
四、函数
请注意Go模板也提供的默认函数。
Name | Arguments | Returns |
---|---|---|
title | string | strings.Title, 大写每个单词的第一个字符。 |
toUpper | string | strings.ToUpper, 将所有字符转换为大写。 |
toLower | string | strings.ToLower, 将所有字符转换为小写。 |
match | pattern, string | Regexp.MatchString. 使用Regex匹配字符串。 |
reReplaceAll | pattern, replacement, text | Regexp.ReplaceAllString Regexp替换,未经修复。 |
join | sep string, s []string | strings.Join, 连接s的元素以创建单个字符串。 分隔符字符串sep放在结果字符串中的元素之间。 (注意:参数顺序已反转,以便在模板中更容易管道化。) |
safeHtml | text string | html/template.HTML, 将字符串标记为不需要自动转义的HTML。 |
五、链接
Prometheus官网地址:https://prometheus.io/
我的Github:https://github.com/Alrights/prometheus
Prometheus学习系列(四十)之报警模板参考相关推荐
- Prometheus学习系列(十五)之预警规则
警报规则允许您基于Prometheus表达式语言表达式定义警报条件,并将有关触发警报的通知发送到外部服务. 每当警报表达式在给定时间点生成一个或多个向量元素时,警报将计为这些元素的标签集的活动状态. ...
- JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档
POI操作excel的确很优秀,操作word的功能却不敢令人恭维.我们可以利用iText生成rtf文档,扩展名使用doc即可. 使用iText生成rtf,除了iText的包外,还需要额外的一个支持rt ...
- JavaScript学习(四十九)—构造方法、原型、对象图解
JavaScript学习(四十九)-构造方法.原型.对象图解
- JavaScript学习(四十八)—原型对象的增删改查
JavaScript学习(四十八)-原型对象的增删改查 一.构造方法与原型对象的图解 二.型对象的增删改查 (一).什么是原型 每个函数都会有一个属性--prototype属性,这个属性都会有一个对象 ...
- JavaScript学习(四十六)—练习题
JavaScript学习(四十六)-练习题 练习1 练习2
- JavaScript学习(四十五)—练习题
JavaScript学习(四十五)-练习题 习题1 习题2:
- JavaScript学习(四十四)—in关键字的使用和for in循环遍历对象的属性
JavaScript学习(四十四)-in关键字的使用和for in循环遍历对象的属性 一.in关键字的使用 作用:判断某个属性是否属于对象 格式:属性名称 in 对象名称 ; 返回值:如果返回的结果为 ...
- JavaScript学习(四十二)—利用工厂模式创建对象以及工厂模式创建对象的不足
JavaScript学习(四十二)-利用工厂模式创建对象以及工厂模式创建对象的不足 一.利用工厂模式创建对象 工厂模式是JavaScript中的一种设计模式,它的作用是批量创建具有同种属性的对象. 格 ...
- JavaScript学习(四十)—字面量创建对象图解
JavaScript学习(四十)-字面量创建对象图解 通过上面的图解我们可以知道: 数据在内存中存的地址永远都不相等的
- [jQuery学习系列四 ]4-Jquery学习四-事件操作
[jQuery学习系列四 ]4-Jquery学习四-事件操作 前言: 今天看知乎偶然看到中国有哪些类似于TED的节目, 回答中的一些推荐我给记录下来了, 顺便也在这里贴一下: 一席 云集 听道 推酷 ...
最新文章
- 数据结构与算法:09 栈与递归
- python控制台输出颜色
- python自学平台-自学Python网站推荐 从入门到精通
- goodFeaturesToTrack函数
- 蔚来宣布部分车型涨价1万元
- vue-i18n和ElementUI国际化使用
- 集群节点数和分片数关系_离子晶体配位数与离子半径比的关系
- LAMP-----2、php-5.3.27编译安装
- UVA10284 POJ2512 Chessboard in FEN【国际象棋】
- 四大顶级开源网络管理工具详解
- 线性代数02 线性方程组的解的情况(矩阵的秩)
- 月薪12.8K,转行测试斩获3份过万offer,分享一些我的小秘招
- 基于Python的飞机票销售系统的设计和实现
- 我用Python模拟了谷爱凌的凌空一跃
- html表格垂直居中的CSS代码,使用3行CSS代码使任何元素垂直居中
- mysql unknown_mysql碰到unknown variable 'xxxx' 的解决方法
- ubuntu使用sudo su进入root报错Cannot execute /bin/csh: No such file or directory解决方法
- 截止目前,计算机考研调剂信息大全!
- 华为OD一次机试的记录
- 论文中的参考文献查重问题和注意事项
热门文章
- H5 页面适配所有 iPhone 和安卓机型的六个技巧
- 【FPGA】基于OV5640的 图像边沿检测
- Mac U盘安装High Sierra
- 苹果输入法怎么换行_现在还有没有必要学习五笔输入法呢
- 网易云信消息抄送php,消息功能-服务端API文档-IM即时通讯-网易云信开发文档
- Android 中设置指定语言
- Nginx✧虚拟主机资源静态化
- 084 php获取美元人民币汇率方法
- 小程序拼团商城系统开发
- 服务器安装torchvision库文件时报错EnvironmentError: [Errno 28] No space left on device的完美解决方法及思维过程