在日志服务中配置告警策略时,告警通知内容不仅仅可以设置普通的字符串,还可以通过内容语法、内容函数和内容变量设计自定义的通知内容,在告警通知中传递更详实清晰的告警信息。
日志服务告警通知的通知内容中支持以下语法功能:
{{ AccountID }}
,日志服务会将其替换为当前告警策略所属的火山引擎账号 ID。说明
日志服务告警通知内容还支持通过部分高阶函数和过滤器实现通知内容的定制化处理,若您有相关的业务场景,可通过工单系统联系技术支持获取更多信息。
示例场景:针对某网站的访问日志设置告警策略,监控一个客户端在 1 秒内的请求次数超过 1000 次的事件,如果该事件在 5 分钟内发生 3 次及以上随即触发告警。告警通知中展示告警策略的基本信息、触发告警的日志信息。
说明
该告警通知格式以飞书渠道为例,其他渠道可能不支持 <strong>
等内容式样,请参考对应应用的官网文档编写告警通知。
原始日志样例:
[ { "Status":200, "ReqTime":10, "ReqSize":123, "RemoteAddr":"10.1.1.*", "ClientInfo":{ "User_Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "Region":"cn-beijing" }, "Method":"POST", "URL":"/xxxxxx", "Action":"Action1", }, { "Status":200, "ReqTime":8, "ReqSize":123, "RemoteAddr":"10.1.1.*", "ClientInfo":{ "User_Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "Region":"cn-beijing" }, "Method":"POST", "URL":"/xxxxxx", "Action":"Action1", } ]
通知内容配置:
用户{{UserName}}在地域{{Region}}下的日志主题{{Topics|join:","}}触发了告警。 <strong>告警基础信息如下</strong>: - 告警策略名称:{{Alarm}} - 告警时间:{{NotifyTime}} - 执行语句: {%-for query in ExecuteQuery%} {{-replace("*","\\*",query)}} {%endfor-%} - 触发条件: {%-for param in TriggerParams%} {{-param|safe}} {%endfor-%} {% if QueryUrl -%} <strong>详细告警信息如下</strong>: - 日志检索详情({{ QueryUrl }}) {% endif -%} {% if DetailUrl -%} - 告警执行历史({{ DetailUrl }}) {% endif -%}
实际通知内容:
用户volcengine在地域cn-beijing下的日志主题accesslog触发了告警。 告警基础信息如下: - 告警策略名称:frequency-control - 告警时间:2022-12-09 17:11:17 - 执行语句:* | 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 - 触发条件:$1.pv >= 3 - 详细告警信息如下: - [日志检索详情](https://www.volcengine.com) - [告警执行历史](https://www.volcengine.com)