33. Prometheus-报警-通知模板参考

原文: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-报警-通知模板参考)