本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
模板参考
本文档主题专为支持 Grafana 9.x 版本的 Grafana 工作空间而设计。
有关支持 Grafana 版本 10.x 的 Grafana 工作空间,请参阅。在 Grafana 版本 10 中工作
有关支持 Grafana 8.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 8 中工作
本节提供创建模板的参考信息。
模板数据
以下数据将传递到消息模板。
名称 | Type | 注意 |
---|---|---|
|
字符串 |
要向其发送通知的联系点的名称。 |
|
字符串 |
如果至少有一个警报正在触发,则触发,否则已解决。 |
|
提醒 |
此通知中包含的警报对象列表(见下文)。 |
|
KeyValue |
这些警报按标签进行分组。 |
|
KeyValue |
此通知中包含的所有警报的通用标签。 |
|
KeyValue |
此通知中包含的所有警报的通用注释。 |
|
字符串 |
返回发送通知的 Grafana 的链接。如果使用外部警报管理器,请返回指向此警报管理器的链接。 |
该Alerts
类型公开了两个用于筛选返回的警报的函数。
-
Alerts.Firing
— 返回触发警报列表。 -
Alerts.Resolved
— 返回已解决警报的列表。
警报(类型)
警报类型包含以下数据。
名称 | Type | 注意 |
---|---|---|
Status |
字符串 |
|
标签 |
KeyValue |
附在警报上的一组标签。 |
注释 |
KeyValue |
警报上附加的一组注释。 |
值 | KeyValue | 所有表达式的值,包括经典条件 |
StartsAt |
time.time |
警报开始触发的时间。 |
EndsAt |
time.time |
仅在已知警报结束时间时才进行设置。否则,设置为自上次收到警报以来可配置的超时时间。 |
生成器网址 |
字符串 |
指向 Grafana 或外部警报管理器的反向链接。 |
silenceURL |
字符串 |
用于将警报静音的链接(预先填写了此警报的标签)。仅适用于 Grafana 管理的警报。 |
DashboardURL |
字符串 |
如果警报规则属于一个,则链接到 grafana 仪表板。仅适用于 Grafana 管理的警报。 |
面板网址 |
字符串 |
如果警报规则属于 grafana 仪表板面板,则链接到。仅适用于 Grafana 管理的警报。 |
指纹 |
字符串 |
可用于识别警报的指纹。 |
ValueString |
字符串 |
包含警报中每个简化表达式的标签和值的字符串。 |
ExtendedData
该 ExtendedData 对象包含以下属性。
名称 | Kind | 描述 | 示例 |
---|---|---|---|
接收方 |
|
发送通知的联系人的姓名。 |
|
Status |
|
状态是 |
|
提醒 |
|
此通知中所有触发警报和已解决警报的列表。 |
|
触发警报 |
|
此通知中所有触发警报的列表。 |
|
已解决的警报 |
|
此通知中所有已解决的警报列表。 |
|
GroupLabels |
|
将这些警报分组到他的通知中的标签。 |
|
CommonLabels |
|
此通知中所有警报的通用标签。 |
|
CommonAnnotations |
|
此通知中所有警报的通用注释。 |
|
外部网址 |
|
发送此通知的 Grafana 工作区或警报管理器的链接。 |
|
KeyValue 键入
KeyValue
类型是一组表示标签和注释的键/值字符串对。
除了可以直接访问存储为的数据外KeyValue
,还有一些方法可以对数据进行排序、删除和转换。
名称 | 参数 | 返回值 | 注意 | 示例 |
---|---|---|---|---|
SortedPairs |
键和值字符串对的排序列表 |
|
||
删除 |
[] 字符串 |
KeyValue |
返回不包含给定键的键/值映射的副本。 |
|
名称 |
[] 字符串 |
标签名称列表 |
|
|
值 |
[] 字符串 |
标签值列表 |
|
时间
时间来自 Go time
Monday, 1st January 2022 at 10:00AM
,请编写以下模板:
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
你可以在这里
模板函数
使用模板函数,您可以处理标签和注释以生成动态通知。以下功能可用。
名称 | 参数类型 | 返回类型 | 描述 |
---|---|---|---|
|
数字或字符串 |
字符串 |
使用指标前缀将数字转换为更具可读性的格式。 |
|
数字或字符串 |
字符串 |
就像 Humanize 一样,但使用 1024 而不是 1000 作为基础。 |
|
数字或字符串 |
字符串 |
将以秒为单位的持续时间转换为更具可读性的格式。 |
|
数字或字符串 |
字符串 |
将比率值转换为 100 的分数。 |
|
数字或字符串 |
字符串 |
将 Unix 时间戳以秒为单位转换为更具可读性的格式。 |
|
字符串 |
字符串 |
Strings.title,将每个单词的第一个字符大写。 |
|
字符串 |
字符串 |
字符串。 ToUpper,将所有字符转换为大写。 |
|
字符串 |
字符串 |
字符串。 ToLower,将所有字符转换为小写。 |
|
图案、文本 |
布尔值 |
regexp。 MatchString 测试未锚定的正则表达式匹配。 |
|
图案、替换、文本 |
字符串 |
Regexp。 ReplaceAllString 正则表达式替换,未锚定。 |
|
字符串-带 |
字符串 |
返回给定表达式和数据源的 Explore 中图形视图的路径。 |
|
字符串-带 |
字符串 |
返回给定表达式和数据源的 Explore 中表格视图的路径。 |
|
[] 接口 {} |
地图 [字符串] 接口 {} |
将对象列表转换为带有键的地图,例如 arg0、arg1。使用此函数将多个参数传递给模板。 |
|
一点也不 |
字符串 |
返回一个表示外部 URL 的字符串。 |
|
一点也不 |
字符串 |
返回外部 URL 的路径。 |
下表显示了使用每个函数的示例。
函数 | TemplateString | 输入 | 预期 |
---|---|---|---|
人性化 |
{人性化 $value} |
1234567.0 |
1.235M |
人性化1024 |
{Humanize1024 $value} |
1048576.0 |
1Mi |
人性化持续时间 |
{HumanizeDuration $value} |
899.99 |
14m 59s |
人性化百分比 |
{人性化百分比 $value} |
0.1234567 |
12.35% |
人性化时间戳 |
{HumanizetimeStamp $value} |
1435065584.128 |
2015-06-23 13:19:44.128 +0000 UTC |
title |
{$value | 标题} |
aa bB cc |
Aa Bb Cc |
toUpper |
{$value | toupper} |
aa bB cc |
AA BB CC |
toLower |
{$value | toLower} |
aa bB cc |
aa bb cc |
match |
{匹配 “a+” $labels.instance} |
aa |
true |
reReplaceAll |
{{ reReplaceAll “localhost :( .*)” “我的.domain:$1" $labels.instance}} |
本地主机:3000 |
我的.domain:3000 |
GraphL |
{{GraphLink “{\ “expr\”:\ “up\”,\ “datasource\”:\ “gdev-prometheus\"}”}} |
/探索? left= [“now-1h”、“now”、“gdev-prometheus”、{“datasource”: “gdev-prometheus”、“expr”: “up”、“instant”: false、“range”: true}] |
|
TableLink |
{{TableLink “{\" expr\”:\ “up\”,\ “datasource\”:\ “gdev-prometheus\"}”}} |
/探索? left= [“now-1h”、“now”、“gdev-prometheus”、{“datasource”: “gdev-prometheus”、“expr”: “up”、“instant”: true、“range”: false}] |
|
args |
{{定义 “x”}} {{.arg0}} {{.arg1}} {{end}} {{模板 “x” (args 1 “2")}}} |
1 2 |
|
外部网址 |
{externalURL} |
http://localhost/path/prefix |
|
路径前缀 |
{路径前缀} |
/路径/前缀 |