本文介绍告警支持的模板变量以及引用方式。

引用原理

配置通知方式时,发送内容主题支持通过${fieldName}方式引用模板变量。日志服务发送告警时,会将发送内容主题中的模板变量替换为真实值,例如${Project}替换为告警规则所属的Project名称。
注意 引用变量时,变量名称必须完全匹配,对于不存在的变量或者不合法的引用会渲染为空字符串。如果引用的值为对象类型,则会转换为JSON字符串展示。

可用变量及其引用

目前支持的所有可用变量及引用方式如下表所示。
变量 说明 举例 示例举例
Aliuid Project所属的阿里云账号ID 1234567890 ${Aliuid}用户的告警规则已触发。
Project 告警规则所属Project my-project ${Project}项目中的告警规则已触发。
AlertID 告警执行ID 0fdd88063a611aa114938f9371daeeb6-1671a52eb23 告警执行ID是${AlertID}。
AlertName 告警规则名称,Project内唯一。 alert-1542111415-153472 告警规则${AlertName}已经触发。
AlertDisplayName 告警规则显示名称 我们的告警规则 告警名称${AlertDisplayName}已经触发。
Condition 触发告警的条件表达式。其中,以触发告警的值替换设置的变量,并使用中括号包裹。 [5] > 1 告警条件表达式为${Condition}。
RawCondition 原始的条件表达式,即condition中不替换变量的原始表达式。 count > 1 原始条件表达式为${RawCondition}。
Dashboard 告警关联的仪表盘名称 mydashboard 告警关联的仪表盘名称${Dashboard}。
DashboardUrl 告警关联的仪表盘地址 https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard 告警关联的仪表盘地址${DashboardUrl}。
FireTime 触发时间 2018-01-02 15:04:05 告警触发时间${FireTime}。
FullResultUrl 告警触发历史记录的查询地址URL https://sls.console.aliyun.com/next/project/my-project/logsearch/internal-alert-history?endTime=1544083998&queryString=AlertID%3A9155ea1ec10167985519fccede4d5fc7-1678293caad&queryTimeType=99&startTime=1544083968 单击查看告警详情${FullResultUrl}。
Results 查询参数和结果,数组类型。字段解释请参见告警日志字段
说明 最多发送100条告警信息。
[
  {
    "EndTime": 1542507580,
    "FireResult": {
      "__time__": "1542453580",
      "count": "0"
    },
    "LogStore": "test-logstore",
    "Query": "* | SELECT COUNT(*) as count",
    "RawResultCount": 1,
    "RawResults": [
      {
        "__time__": "1542453580",
        "count": "0"
      }
    ],
    "StartTime": 1542453580
  }
]
第一个查询的开始时间为 ${Results[0].StartTime};结束时间为 ${Results[0].EndTime};count的值为 ${Results[0].FireResult.count}。
说明 其中0为图表编号,详情请参见如何查看图表编号