You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
告警通知内容模板
内容变量
复制全文
下载 pdf
内容变量
在配置告警通知内容时,除固定的文字内容字符串之外,还可以添加变量。本文档介绍变量的格式和支持的变量列表。​
变量格式​
告警通知内容中可直接引用内容变量,变量格式为{{变量名称}},变量必须被两个大括号{{ }}包裹。日志服务发送告警通知时,会自动将通知内容中的变量替换为对应的实际值。例如对于内容变量 {{AccountID}},日志服务会将其替换为当前告警策略所属的火山引擎账号 ID。​
Tip​
  • 变量名称区分大小写。在告警通知内容引用变量时,变量名称必须完全匹配变量列表中的变量一列。​
  • 如果变量名称或格式不正确,日志服务会将其替换为空字符串。​
  • 如果引用的值为对象类型,需要通过 toJson 或 toString 函数进行格式转换,或者使用 for 循环进行遍历,否则实际的返回内容可能不符合预期。​
  • 如果引用的值为数组对象类型,支持以 {{a[i][j].b}} 格式获取数组对象中子字段的值,例如{{QueryResult[0][0].count}}。​
内容变量​
变量列表​
日志服务告警通知内容中支持引用以下变量。​
​
变量​
类型​
含义​
示例​
{{AccountID}}​
String​
告警策略所属的账号 ID。​
  • 配置示例:​
  • {{AccountID}}账号中的告警已被触发。​
  • 告警通知示例:​
  • 20000****6账号中的告警已被触发。​
{{UserName}}​
String​
告警策略所属的账号用户名。​
不推荐在飞书、钉钉、企业微信和自定义 Webhook 渠道的内容模板中使用该变量,因为在这些渠道中使用时,变量值为空。​
  • 配置示例:​
  • {{UserName}}用户中的告警已被触发。​
  • 告警通知示例:​
  • xxxngine用户中的告警已被触发。​
{{ProjectName}}​
String​
触发告警的日志项目。​
  • 配置示例:​
  • 日志项目{{ProjectName}}触发了告警。​
  • 告警通知示例:​
  • 日志项目http_module触发了告警。​
{{AlarmTopicName}}​
String​
触发告警的日志主题。​
  • 配置示例:​
  • 日志主题{{AlarmTopicName}}触发了告警。​
  • 告警通知示例:​
  • 日志主题http_module触发了告警。​
{{NotifyMsg}}​
String​
告警策略的附加通知内容中的原始内容被渲染后的内容。​
  • 仅支持在内容模板中使用该变量。​
  • 不推荐在告警策略中的附加通知内容中使用该变量。​
  • 告警恢复类型的告警通知不支持使用该变量。​
  • 配置示例:​
  • 告警通知内容:{{NotifyMsg}}。​
  • 告警策略中的附加通知内容示例:​
  • {{AccountID}}账号下的日志主题{{AlarmTopicName}}触发了告警。​
  • 告警通知示例:​
  • 告警通知内容:20000****6账号下的日志主题http_module触发了告警。​
{{Message}}​
String​
在告警策略的附加通知内容中填写的原始内容。​
不解析填入的告警变量,直接发送原始内容。​
  • 配置示例:​
  • 原始通知内容:{{Message}}。​
  • 告警策略中的附加通知内容示例:​
  • {{AccountID}}账号下的{{AlarmTopicName}}触发了告警。​
  • 告警通知示例:​
  • 原始通知内容:{{AccountID}}账号下的{{AlarmTopicName}}触发了告警。​
{{Region}}​
String​
告警策略所属日志项目的所在地域。​
  • 配置示例:​
  • {{Region}}地域下的告警策略{{Alarm}}已被触发。​
  • 告警通知示例:​
  • cn-beijing地域下的告警策略超限报警已被触发。​
{{Alarm}}​
String​
告警策略名称。​
  • 配置示例:​
  • 告警策略{{Alarm}}已被触发。​
  • 告警通知示例:​
  • 告警策略超限报警已被触发。​
{{AlarmID}}​
String​
告警策略 ID。​
  • 配置示例:​
  • 告警策略{{AlarmID}}已被触发。​
  • 告警通知示例:​
  • 告警策略7070267f-30da-4861-8d0a-01f4bc6****已被触发。​
{{ExecuteQuery}}​
[]String​
告警策略中配置的查询语句。​
  • 配置示例:​
  • 当前告警策略的检索分析语句为{{toJson(ExecuteQuery)}}。​
  • 告警通知示例:​
  • 当前告警策略的检索分析语句为 ["* | select RemoteAddr, pv from (select RemoteAddr, sum(case when ReqTime > 1000 then 1 else 0 end) as pv group by RemoteAddr) order by pv desc"]。​
{{Duration}}​
String​
告警的持续时间。​
单位为分钟。​
  • 配置示例:​
  • 告警的持续时间为{{Duration}}分钟。​
  • 告警通知示例:​
  • 告警的持续时间为3分钟。​
{{Condition}}​
String​
告警策略中配置的触发条件。​
  • 配置示例:​
  • 当前告警策略的触发条件为{{Condition}}。​
  • 告警通知示例:​
  • 当前告警策略的触发条件为$1.pv >= 3。​
{{HappenThreshold}}​
Integer​
告警策略中配置的发送告警周期。​
  • 配置示例:​
  • 此告警策略持续{{HappenThreshold}}个监控周期满足触发条件,则发送告警。​
  • 告警通知示例:​
  • 此告警策略持续5个监控周期满足触发条件,则发送告警。​
{{Topics}}​
[]String​
告警策略中配置的监控对象,即当前告警策略监控的所有日志主题。​
  • 配置示例:​
  • 监控的日志主题包括{{Topics|join:','}}。​
  • 告警通知示例:​
  • 监控的日志主题包括ycyc,abab。​
{{TopicIds}}​
[]String​
告警策略监控的所有日志主题的 ID。​
  • 配置示例:​
  • 监控的日志主题包括{{TopicIds|join:','}}。​
  • 告警通知示例:​
  • 监控的日志主题包括a573686e-d097-4227-9fa5-612d0ae2****,4a7796bd-76a5-45ec-880b-680c45cb****。​
{{StartTime}}​
String​
一个完整的告警事件中,第一次触发告警的时间。​
从告警触发到告警恢复为一个完整的告警事件,告警恢复表示本次告警事件结束。​
  • 配置示例:​
  • 第一次触发告警的时间为{{StartTime}}。​
  • 告警通知示例:​
  • 第一次触发告警的时间为2022-12-09 20:43:16。​
{{StartTimeUnix}}​
Integer​
告警事件中第一次触发告警的时间戳。​
格式为秒级 UNIX 时间戳。​
  • 配置示例:​
  • 第一次触发告警的时间戳为{{StartTimeUnix}}。​
  • 告警通知示例:​
  • 第一次触发告警的时间戳为1670589796。​
{{NotifyTime}}​
String​
本次告警通知的时间。​
  • 配置示例:​
  • 告警通知时间为{{NotifyTime}}。​
  • 告警通知示例:​
  • 告警通知时间为2022-12-09 20:43:16。​
{{NotifyTimeUnix}}​
Integer​
本次告警通知的时间戳。​
格式为秒级 UNIX 时间戳。​
  • 配置示例:​
  • 告警通知时间戳为{{NotifyTimeUnix}}。​
  • 告警通知示例:​
  • 告警通知时间戳为1670589796。​
{{NotifyType}}​
Integer​
告警通知类型。​
  • 1:告警触发​
  • 2:告警恢复​
  • 配置示例:​
  • 告警通知类型为{{NotifyType}}。​
  • 告警通知示例:​
  • 告警通知类型为1。​
{{Severity}}​
String​
告警策略中配置的告警级别,即告警的严重程度。​
  • notice:通知。​
  • warning:警告。​
  • critical:严重。​
  • 配置示例:​
  • 告警级别为{{Severity}}。​
  • 告警通知示例:​
  • 告警级别为notice。​
{{ConsecutiveAlertNums}}​
Integer​
连续告警次数。​
  • 配置示例:​
  • 连续告警次数为{{ConsecutiveAlertNums}}。​
  • 告警通知示例:​
  • 连续告警次数为3。​
{{TriggerParams}}​
[]String​
告警触发时,触发条件中字段对应的实际值。​
  • 配置示例:​
  • 触发条件中字段的实际值为{{toJson(TriggerParams)}}。​
  • 告警通知示例:​
  • 触发条件中字段的实际值为["$1.count=100"]。​
{{DetailUrl}}​
String​
告警策略的执行信息页面链接。​
详细说明请参考执行历史。​
​
  • 配置示例:​
  • 请单击链接{{DetailUrl}}查看执行历史信息。​
  • 告警通知示例:​
  • 请单击链接https://console.volcengine.com/tls/region:tls+cn-beijing/project/a573686e-d097-4227-9fa5-612d0ae2****/alarms/7070267f-30da-4861-8d0a-01f4bc6d5****detail查看执行历史信息。​
{{QueryUrl}}​
String​
告警策略中,第一个执行语句的检索分析页面链接。​
​
  • 配置示例:​
  • 日志检索详情:{{QueryUrl}}​
  • 告警通知示例:​
  • 日志检索详情:https://console.volcengine.com/tls/region:tls+cn-beijing/project/0abbb4ff-9eba-4079-af37-eec515e0****/search?topicId=&time=now-5m,now&codebase64=&hideTitle=false&hideTopic=false&hideIndexBtn=false&hideShareBtn=false​
{{QueryResult}}​
[][]Object​
触发告警时检索分析语句的执行结果。​
  • 对象类型,建议通过 toJson 或 toString 进行格式转换。​
  • 每个执行语句最多返回 10 行结果,总长度最大为 10 KB。​
  • 最多添加 3个执行语句,总计长度最大为 30 KB。​
示例请参考QueryResult 变量。​
{{QueryResultStr}}​
[]String​
以字符串数组形式返回 QueryResult 结果。​
暂不支持{{QueryResultStr[0]}}下标访问。​
示例请参考QueryResult 变量。​
{{QueryLog}}​
[][]Object​
执行语句中检索条件匹配到的原始日志信息,不包含分析语句中的过滤条件。​
  • 对象类型,建议通过 toJson 或 toString 进行格式转换。​
  • 每个执行语句最多返回 1000 条原始日志,总长度最大为 10 KB。​
  • 最多添加 3个执行语句,总计长度最大为 30 KB。​
示例请参考QueryLog 变量。​
{{QueryLogStr}}​
[]String​
以字符串数组形式返回 QueryLog 结果。​
  • 暂不支持{{QueryLogStr[0]}}下标访问。​
  • 最多返回 1000 条原始日志,总长度最大为 10 KB。​
示例请参考QueryLog 变量。​
{{QueryStartTime}}​
Integer​
告警策略中最后一条执行语句的起始时间。​
  • 格式为秒级 Unix 时间戳。​
  • 配置示例:​
  • {{QueryStartTime}} ​
  • 告警通知示例:​
  • 1699411640​
{{QueryEndTime}}​
Integer​
告警策略中最后一条执行语句的结束时间。​
  • 格式为秒级 Unix 时间戳。​
  • 配置示例:​
  • {{QueryEndTime}} ​
  • 告警通知示例:​
  • 1699412200​
{{Results}}​
[]QueryData​
查询参数和中间结果。​
  • 数组类型。​
  • 数组长度最大为 3。​
  • 配置示例:​
  • 第一个查询的开始时间为{%set result0=Results[0]%}{{result0.StartTime}}结束时间为{{result0.EndTime}};count的值为{{result0.RawResultsCount}};查询和分析语句为{{result0.Query}}。RawResults:{{toJson(result0.RawResults)}}, RawResultsCount:{{result0.RawResultsCount}},FireResult:{{toJson(result0.FireResult)}}。​
  • 告警通知示例:​
  • 第一个查询的开始时间为1701676139结束时间为1701677039;count的值为1;查询和分析语句为*| select count(*) as cnt。RawResults:[{"cnt":"0"}], RawResultsCount:1,FireResult:{"cnt":"0"}。​
{{FireResults}}​
[]Object​
触发告警的数据,即集合操作后的结果。​
  • 最多 100 条。​
  • 实际长度超过 2KB 时,超限部分会被截断。​
  • 配置示例:​
  • 触发告警的数据为{{toJson(FireResults)}}。​
  • 告警通知示例:​
  • 触发告警的数据为[{"cnt":"0"}]。​
{{FireResultsCount}}​
Integer​
触发告警的检索分析结果条数集合操作后的数据总量。​
可能多于 100。​
  • 配置示例:​
  • 告警触发时产生的总数据条数为{{FireResultsCount}}。​
  • 告警通知示例:​
  • 告警触发时产生的总数据条数为 10。​
{{SignInUrl}}​
String​
告警详情页面链接。​
  • 通过此链接可免登录查看告警的详细信息、变更处理人等相关操作。​
​
  • 配置示例:​
  • 单击{{SignInUrl}}查看告警详情。​
  • 告警通知示例:​
  • 单击https://console-embedded.volcanicengine.com/api/passport/login/loginWithSigninToken?signinToken=czVXb1M0djlpZ&redirectURI=%2Ftls%2Fregion%3Atls%2Bxxxxxxx查看告警详情。​
​
QueryData 结构​
Results 变量表示查询参数和中间结果。其中可引用的变量如下。​
​
变量​
数据类型​
说明​
示例​
TopicId​
String​
检索分析的目标日志主题 ID。​
fed25df2-cc27-4b0a-8ad2-773aef61****​
Query​
String​
检索分析语句。​
error | select count(*) as errorCount​
StartTime​
Integer​
查询开始时间。​
格式为 10 位的 Unixtime 时间戳。​
1699411640​
EndTime​
Integer​
查询结束时间。​
格式为 10 位的 Unixtime 时间戳。​
1699412200​
RawResults​
[]Object​
实际查询结果。​
  • 数组格式,最多 100 行。​
  • 实际长度超过 2KB 时,超出部分会被截断。​
[{"cnt":"0"}]​
​
RawResultsCount​
Integer​
实际查询数据的总条数,可能多于 100。​
1​
FireResult​
Object​
触发告警的日志内容。​
可能有多条原始日志触发了告警策略,此参数仅返回触发告警的第一条原始日志数据。​
{"cnt":"0"}​
​
​
QueryResult 变量​
  • 变量说明​
  • QueryResult 结构用于表示触发告警时查询语句的执行结果。支持如下配置:​
  • 直接在控制台单击插入变量,单击QueryResult后插入{{toJson(QueryResult)}},该变量直接以 JSON 格式返回当前所有(最多 3 个)执行语句匹配到的完整执行结果,可能存在大量不关注的内容。​
  • 通过函数语法对其属性进行二次处理,仅返回执行结果的指定字段。​
  • 该变量以对象类型返回,访问每一个属性时,应通过英文句号(.)指定其属性,例如{{log.name}}、{{log.名称}}、{{QueryResult[0][0].count}}。​
Tip​
  • 查询语句的执行结果还支持以 String 数组([]string)类型返回,若有相关需求,可以引用变量QueryResultStr。​
  • 每个执行语句最多返回 10 行结果,总长度最大为 10 KB。​
  • 最多添加 3个执行语句,总计长度最大为 30 KB。​
  • 返回指定字段变量示例​
  • 返回当前所有(最多 3 个)执行语句匹配到的执行结果的指定字段​
  • ​
    {%-for Results in QueryResult%}​
    {%- for Result in Results%}​
    {{Result.name}}​
    {{Result.type}} ​
    {{Result.double_key}} ​
    {{Result.obj_key.key}} ​
    {{Result['obj_key.key_double.data']}}​
    {%endfor-%}​
    {%endfor-%}​
    ​
  • 返回第一条执行语句匹配到的第一条执行结果的指定字段​
  • ​
    {{QueryResult[0][0].name}}​
    {{QueryResult[0][0].type}} ​
    {{QueryResult[0][0].double_key}} ​
    {{QueryResult[0][0].obj_key.key}} ​
    {{QueryResult[0][0]['obj_key.key_double.data']}} ​
    ​
  • 返回第二条执行语句匹配到的第一条执行结果的指定字段​
  • ​
    {{QueryResult[1][0].name}}​
    {{QueryResult[1][0].type}} ​
    {{QueryResult[1][0].double_key}} ​
    {{QueryResult[1][0].obj_key.key}} ​
    {{QueryResult[1][0]['obj_key.key_double.data']}} ​
    ​
  • QueryResult 内容示例:​
  • ​
    [​
    [​
    {​
    "double_key": 1.1,​
    "name": "volcengine",​
    "obj_key": {​
    "key": 1,​
    "key_double": {​
    "data": 123​
    }​
    },​
    "type": 1​
    }​
    ]​
    ]​
    ​
QueryLog 变量​
  • 变量说明​
  • QueryLog 结构用于表示执行语句中检索条件匹配到的原始日志信息,不包含分析语句中的过滤条件。支持如下配置:​
  • 直接在控制台单击插入变量,单击QueryLog后插入{{toJson(QueryLog)}},该变量直接以 JSON 格式返回当前所有(最多 3 个)执行语句匹配到的完整原始日志信息,可能存在大量不关注的内容。​
  • 通过函数语法对其属性进行二次处理,仅返回原始日志信息的指定字段。​
  • QueryLog 变量以二维对象数组类型返回。正常情况下,访问每一个字段时,应通过英文句号(.)指定字段,例如 {{log.name}}、{{log.名称}}。当字段名称中包含空格时,则需要使用 {{log['']}} 格式,例如 {{log['key name']}}。​
Tip​
  • QueryLog 对应的原始日志也可以通过字符串数组形式返回,若有相关需求,可以引用变量 QueryLogStr。​
  • 每个执行语句最多返回 1000 条原始日志,总长度最大为 10 KB。​
  • 最多添加 3个执行语句,总计长度最大为 30 KB。​
  • 返回原始日志的指定字段的变量示例​
  • 通知内容配置示例:​
  • 返回当前所有(最多 3 个)执行语句匹配到的原始日志信息的指定字段​
  • ​
    {%-for logs in QueryLog%}​
    {%- for log in logs%}​
    {{log.name}}​
    {{log.type}} ​
    {{log.double_key}} ​
    {{log.obj_key.key}} ​
    {{log['obj_key.key_double.data']}}​
    {%endfor-%}​
    {%endfor-%}​
    ​
  • 返回第一条执行语句匹配到的第一条原始日志信息的指定字段​
  • ​
    {{QueryLog[0][0].name}}​
    {{QueryLog[0][0].type}} ​
    {{QueryLog[0][0].double_key}} ​
    {{QueryLog[0][0].obj_key.key}} ​
    {{QueryLog[0][0]['obj_key.key_double.data']}} ​
    ​
  • 返回第二条执行语句匹配到的第一条原始日志信息的指定字段​
  • ​
    {{QueryLog[1][0].name}}​
    {{QueryLog[1][0].type}} ​
    {{QueryLog[1][0].double_key}} ​
    {{QueryLog[1][0].obj_key.key}} ​
    {{QueryLog[1][0]['obj_key.key_double.data']}} ​
    ​
  • QueryLog 内容示例:​
  • ​
    [​
    [​
    {​
    "double_key": 1.1,​
    "name": "volcengine",​
    "obj_key": {​
    "key": 1,​
    "key_double": {​
    "data": 123​
    }​
    },​
    "type": 1​
    }​
    ]​
    ]​
    ​
过滤器​
日志服务告警变量支持添加过滤器,过滤器为链式调用,用于对变量数据进行二次处理。​
  • 格式: {{变量|过滤器}}。​
  • 示例:添加过滤器escape进行 unicode 编码。​
  • ​
    示例​
    字段​
    输出结果​
    变量​
    {{toJson(FireResults)}}​
    {"a":123,"b":123}​
    添加过滤器​
    {{toJson(FireResults)|escapejs}}​
    \u007b\u0022\u0061\u0022\u003a\u0031\u0032\u0033\u002c\u0022\u0062\u0022\u003a\u0031\u0032\u0033\u007d​
    ​
过滤器列表​
​
过滤器​
说明​
示例​
escape​
对特殊字符进行自动转义。​
如果收到的告警通知内容中,应被转义的特殊字符未被转义,可以使用此过滤器强制转义指定字符串或指定变量的所有输出内容。​
  • 引用示例:​
  • {{"<script>"|escape}}​
  • 处理结果:​
  • &lt;script&gt;​
escapejs​
​
对特殊字符进行 unicode 编码。​
如果告警通知内容中存在需要被 Unicode 编码的特殊字符 ,可以使用此过滤器对指定字符串或指定变量中的特殊字符进行 Unicode 编码。详细说明请参考告警通知内容中包含特殊字符,如何处理?​
  • 引用示例:​
  • {{"<script> alert('hello')</script>"|escapejs}}​
  • 处理结果:​
  • \u003Cscript\u003E alert\u0028\u0027hello\u0027\u0029\u003C/script\u003E​
​
过滤器示例​
以下示例表示在告警通知中添加操作集合、操作集合数量、查询结果等信息,并在末尾添加免登录告警详情页面的链接。其中,查询结果部分会返回查询结果详情、日志主题 ID、查询检索语句等的详细信息。​
​
操作集合:{{toJson(FireResults)}}​
操作集合数量: {{FireResultsCount}}​
查询结果: {{replace("*","\\*",toJson(Results))}}​
{%set result = Results[0]%}​
TopicId: {{result.TopicId}}​
Query: {{replace("*","\\*",result.Query)}}​
StartTime: {{result.StartTime}}​
EndTime: {{result.EndTime}}​
RawResults: {{toJson(result.RawResults)}}​
RawResultsCount: {{result.RawResultsCount}}​
FireResult: {{toJson(result.FireResult)}}​
告警详情: {{SignInUrl}}​
​
​
最近更新时间:2026.10.16 16:23:34
这个页面对您有帮助吗?
有用
有用
无用
无用