云监控支持自定义通知内容模板,您可以在通知内容模版中自定义告警通知的结构和字段信息。本文介绍通知内容目标的基础知识。
当告警策略或事件规则中匹配的事件被触发后,云监控会通过邮件、飞书、钉钉、电话、Webhook 等方式发送告警通知或事件通知。系统已为各种通知方式预置了内容模板,但如果预置的通知内容模板不能满足需求,您可以自定义通知内容模板。
说明
本文中提及的云监控通知内容模板的扩展函数和变量,请参见 扩展函数与变量。 .字符用于在当前作用域下,渲染指定的对象。
示例 1:取顶级作用域下的所有内容,即告警信息中的全部内容。
预期返回结果:输出告警信息的全部内容。
示例 2:获取告警策略的Region字段。
预期返回结果如下:
变量用于保存传入的数据,数据传入变量后,整个模板都能通过变量访问该数据。例如,在{{$rulename := .RuleName}}中使用$rulename作为变量,保存告警策略名称,然后可以使用{{$rulename}}访问变量。
示例:将告警策略名称保存在$rulename,然后输出$rulename。
预期返回结果:
判断语句if/else使用if检查数据,如果不满足条件,则执行else的内容。当if语句的判断条件为 空值、0、nil、空字符串 或 长度为 0 的字符串 时,都返回false。
示例:如果告警信息中的.Level值等于warning,则输出Warning 级别告警。
预期返回结果:
比较函数用于比较 2 个数据的大小,常与判断语句if/else搭配使用,用于对语句执行情况进行判断。常用的比较函数如下表所示。
示例:如果.Level值等于warning,则输出Warning 级别告警。
预期返回结果:
逻辑函数主要包括and、or和not,用于在多个条件中取 非、与 和 或 逻辑。
示例:如果Region的值为cn-beijing,并且Level的值为warning,则输出北京 Warning 级别告警。
返回结果:
Go Template 中的常用内置函数,如下表所示。