Prometheus学习系列(四十)之报警模板参考
时间:2019-07-05
本文章向大家介绍Prometheus学习系列(四十)之报警模板参考,主要包括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
- android 仿qq手写板涂鸦
- listview动态获取数据
- toggbutton
- android软件开发之webView.addJavascriptInterface循环渐进【一】
- android的listview item点击详解
- android之surfaceview画图
- viewgroup实现item拖动效果
- Android之ExpandableListView下拉分组的实现
- 粗略的物体碰撞预测及检测
- Regionserver频繁挂掉故障处理实践
- 【翻译】GeoJSON格式规范-RFC7946
- [机器学习]-[数据预处理]-中心化 缩放 KNN(二)
- 基于Spring Cloud 几行配置完成单点登录开发
- 深入浅出全栈工程师: Web编程基础
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php和redis实现秒杀活动的流程
- CentOS 7中搭建NFS文件共享存储服务的完整步骤
- PHP检测一个数组有没有定义的方法步骤
- Yii2.0框架模型多表关联查询示例
- Yii2.0框架模型添加/修改/删除数据操作示例
- thinkphp5.1框架容器与依赖注入实例分析
- 在CentOS VPS上通过SSH安装 MySQL的办法图解
- 详解PHP 7.4 中数组延展操作符语法知识点
- linux下安装boost库的完整步骤记录
- Python图像处理二值化方法实例汇总
- 利用Python实现斐波那契数列的方法实例
- Python如何实现大型数组运算(使用NumPy)
- 因str_replace导致的注入问题总结
- laravel框架中间件 except 和 only 的用法示例
- 浅析Python 多行匹配模式