Skip to main content

概述

通过引用告警标签、属性的变量,实现对故障的严重程度、标题和描述等信息的修改与定制。主要应用在两种场景:

Event API 上报

通过告警 Event API 上报自定义告警事件时,可以使用 title_rule 字段自定义告警的标题。

告警 Pipeline

在告警 Pipeline 中引用变量,实现对告警的严重程度、标题和描述等信息的修改。

Event API 示例

title_rule
指定 resourcecheck 标签作为告警标题。

告警 Pipeline 示例

在告警 Pipeline 中引用变量

变量引用方式

通过 ${var} 引用标签

[TPL] 作为前缀,使用 ${} 来引用变量,变量内容将从标签中提取,提取不到使用 <no value> 替代。

通过 Golang 模版语法引用

[TPL] 作为前缀,使用 {{}} 来引用变量(可以引用标签和属性),标签不存在时返回空字符串。
${} 语法和 {{}} 语法存在两个关键差异:
  • 取值范围不同${name} Labels 中取值,无法引用属性字段;{{}}*AlertEvent 整体作为数据源,可访问全部导出属性与 Labels
  • 缺失行为不同:标签不存在时 ${} 返回 <no value>{{}} 返回空字符串。

支持引用的属性列表

使用 {{}} 语法时,模板的数据对象即告警事件(AlertEvent)本身,可引用的主要字段如下:
除标题外,告警描述和任意标签值本身也支持引用变量:在告警 Pipeline 中使用 重置描述(resetDescription)或 重置标签(resetLabels)动作时,填入的内容只要以 [TPL] 作为前缀,就会按同样的语法执行变量替换。

常见问题

取决于您使用哪一种变量获取方式,标题可能会保留原始的变量信息或使用 <no value> 替代。
即使获取不到变量,也不影响告警的生成,您可放心调试。