原文:https://prometheus.io/docs/alerting/notifications/

Prometheus创建警报并将其发送到Alertmanager,警报管理器随后根据报警的标签将通知发送到不同的接收者。接收方可以是众多集成中的一种,包括:Slack、PagerDuty、email或通过通用Webhook接口的自定义集成。

发送到接收方的通知是通过模板构造的。Alertmanager带有默认模板,但也可以自定义。为避免混淆,必须注意到Alertmanager模板与Prometheus模板的不同,但是Prometheus模板还包括警报规则标签(或注释)的模板。

Alertmanager的通知模板基于Go模板系统。请注意,某些字段被评估为文本,而其他字段则被评估为HTML,这会影响转义。

数据结构

Data

Data 是传递给通知模板和Webhook推送的结构。

Name Type Notes
Receiver string 定义将通知发送到的接收者名称(slack,email等)。
Status string 如果至少一个警报正在触发,则定义为firing,否则resolved。
Alerts Alert 该组中所有警报对象的列表(请参见下文)。
GroupLabels KV 这些警报按标签分组。
CommonLabels KV 所有警报共有的标签。
CommonAnnotations KV 所有警报的通用注释集。用于获取有关警报的更多其他信息字符串。
ExternalURL string 反向链接到发送通知的Alertmanager。

Alerts类型公开用于过滤警报的函数:- Alerts.Firing返回该组中当前触发的警报对象,Alerts.Resolved的列表- 返回该组中已解决的警报对象的列表

Alert

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 methods

Name Arguments Returns Notes
SortedPairs - Pairs (list of key/value string pairs.) 返回键/值对的排序列表。
Remove []string KV 返回不带给定键的键/值映射的副本。
Names - []string 返回LabelSet中标签名称的名称。
Values - []string 返回LabelSet中值的列表。

FUNCTIONS

请注意,Go模板还提供了默认功能。

Strings

Name Arguments Returns Notes
title string strings.Title, 大写每个单词的第一个字符。  
toUpper string strings.ToUpper, 将所有字符转换为大写。  
toLower string strings.ToLower, 将所有字符转换为小写。  
match pattern, string Regexp.MatchString. 使用Regexp匹配字符串。  
reReplaceAll pattern, replacement, text Regexp.ReplaceAllString Regexp替换,未锚定。  
join sep string, s []string strings.Join, 将s的元素连接起来以创建单个字符串。分隔符字符串sep放置在结果字符串中的元素之间。(注意:参数顺序颠倒了,以便在模板中更容易进行流水线操作。)  
safeHtml text string html/template.HTML, 将字符串标记为不需要自动转义的HTML。  
stringSlice ...string 以字符串切片形式返回传递的字符串。

33. Prometheus-报警-通知模板参考相关推荐

  1. 定义zabbix_action报警通知模板

    报警:{ITEM.NAME} 主机:{HOST.NAME} 故障时间:{EVENT.DATE} {EVENT.TIME} 报警时间:{DATE} {TIME} 故障持续:{EVENT.AGE} 级别: ...

  2. Prometheus学习系列(四十)之报警模板参考

    Prometheus创建并向Alertmanager发送警报,然后Alertmanager根据标签向不同的接收者发送通知. 接收器可以是众多集成中的一种,包括:Slack,PagerDuty,电子邮件 ...

  3. Linux利用sendmail和fetion发送报警通知

    一.sendmail报警通知 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1.停止系统自带的sendmail服务 # /etc/i ...

  4. (二) prometheus报警-----自定义 / alertmanager监控,报警设置

    文章目录 1. prometheus报警设置: . 介绍 2.自定义告警规则 定义告警规则 模板化 查看告警状态 2.下载并报警组件alertmanager 2.1 配置alertmanager 2. ...

  5. 定时任务报警通知解决方案详解

    作者: 唐涛.黄晓萌 什么是定时任务 定时任务是每个业务常见的需求,比如每分钟扫描超时支付的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报表等等. 随着微服务和云计算的兴起,定时任务 ...

  6. 程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知

    程序主动进行电话短信报警,自定义电话.短信.钉钉报警通知 一. 规则说明 这里我们要利用到阿里云的云监控的手段,有一个叫做事件监控的东西,可以通过自定义事件上传来进行监控报警. 流程: 程序发现错误 ...

  7. 自动化监控--zabbix中的邮件报警通知详解

    前言 在自动化监控–zabbix安装和配置详解我们已经完成了zabbix监控的安装部署,今天我们就在它的基础上来实现一下自动监控的邮件报警通知. 添加一台主机 首先,添加一台host 只需填写Host ...

  8. 类模板(参考《C++ Templates 英文版第二版》)

    类模板(参考<C++ Templates 英文版第二版>) Chapter 1 类模板 与函数相似,类也可以被一个或者多个类型参数化 在这章,我们使用栈作为例子 2.1 类模板stack的 ...

  9. C4D双十一促销海报模板,参考一下!

    双十一是电商人最重要的节日,很多商家至少提前一个月就开始准备双十一活动了,其中少不 了促销海报的制作,要想让活动吸引人,光靠文字是不行的,一图胜万言,图文海报才是最能 吸引眼球的传播工具. C4D近两 ...

  10. easycode 表配置_EasyCode插件使用及模板参考

    EasyCode插件使用及模板参考 1.介绍安装 Easycode是idea的一个插件,可以直接对数据的表生成entity.controller.service.dao.mapper无需任何编码,简单 ...

最新文章

  1. sqli-lib1-36关 精选篇
  2. Drools的HelloWord例子
  3. BroadcastReceive之ip拨号
  4. C# 并行运算方法简析
  5. 【2018.3.17】模拟赛之四-ssl1864jzoj1368 燃烧木棒【最短路,Floyd】
  6. java胜任理由_Java在几乎所有方面均能胜任本机响应
  7. windows和linux下,查看oracle SID的方法
  8. Android ContentProvider 内容提供者
  9. 《黑客之道》- 全网最详细的kali系统安装教程
  10. CSS制作移动动画效果
  11. 未能解析主引用“Fiddler”,因为它是针对“.NETFramework,Version=v4.6.1”框架生成的。该框架版本高于当前目标框架“.NETFramework,Version=v4.5
  12. Android App屏幕旋转要点
  13. AI人工智能外呼机器人
  14. 基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真
  15. Revit二次开发之技能篇(一)———轴网自动对齐
  16. 电子元件在电路的作用
  17. 怎么一键多平台发布视频或者文章?
  18. 天虹数科Java笔试题B
  19. 关于5G网速提升,对时代的影响
  20. Alpha 测试与 Beta 测试:有什么区别?

热门文章

  1. 自然语言处理工具之 HanLP 鸟瞰
  2. CAD打断的技巧、AUTOCAD——批量偏移
  3. 如何更新npm版本 阿星小栈
  4. 解决Chrome浏览器不能访问https网站的问题 阿星小栈
  5. 树突状细胞(DC细胞)特征及应用进展综述
  6. 【说明】最近文章可在掘金查看
  7. Opencv 16位深度图片显示并保存
  8. java程序员3-5年职业规划,附源代码
  9. php laravel 增删查改,通过 Laravel Eloquent 模型实现简单增删改查操作
  10. Java将编辑器内容生成pdf文件下载