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

日志服务

复制全文
下载 pdf
告警策略
触发条件表达式
复制全文
下载 pdf
触发条件表达式
创建日志服务告警策略时,需要指定告警的触发条件表达式,日志服务根据触发条件表达式的执行结果判断是否满足告警条件。​
判断触发条件表达式的执行结果时,表达式变量对应的告警策略中分析语句的执行结果将作为输入。如果判断触发条件表达式的执行结果为真,则触发告警。例如指定执行语句为 result:error | SELECT count(*) AS ErrCount,指定告警的触发条件表达式为 $1.ErrCount>0,表示出现 result 为 error 的日志时触发告警。​
语法说明​
告警触发条件表达式的语法格式为 $N.keyname,支持引用查询分析的结果。​
其中:​
  • N为对应的监控对象编号,最多支持 3 个监控对象。例如 $1.key 引用编号为 1 的查询中的 key 字段名。​
  • keyname 为查询分析结果中的字段名,字段名支持字母、数字、下划线。推荐使用 AS 语法对分析结果设置别名,例如 SELECT count(*) AS ErrCount。​
当查询分析结果返回多个值时:​
  • 根据表达式的变量来判断需要使用哪些结果求值。例如配置 A、B、C 共 3 个分析语句,表达式中仅配置 A 和 B 两个语句作为监控对象,表示判断表达式的值只需要使用 A 和 B 两个语句的分析结果。​
  • 返回结果依次计算最多 1000 次,当计算结果为真(true)时停止。例如,集合操作选择笛卡尔积,触发条件为有数据匹配,且表达式为 $1.key1+$2.key2>100,若分析语句 1 和 2 分别返回 x 和 y 条结果,则会进行 x*y 次计算。在计算过程中当结果满足 $1.key1+$2.key2>100 为真时告警、或计算达到 1000 次时停止计算不告警。​
注意事项​
  • 只有表达式判断为真(true)时,才会触发告警。例如,$1.key1+$1.key2 计算结果为 100,$1.key1+$1.key2 >100 不会触发,$1.key1+$1.key2 >=100 则会触发。​
  • 若字段名含有特殊字符,需要用[]将引用变量括起来,[]内的变量会当作一个整体来处理。例如 [$1.process-time],其中 process-time 整体会被当作一个 key。​
  • 特殊字符包括 + - / * & | ^ ** % >> << > >= < <= == != =~ !~ || && ! - ~ ? : ()。​
  • 数值类型将作为 64 位浮点数进行运算,对其使用等于、大于等比较操作可能出现误差。​
支持的运算符​
​
分类​
运算符名称​
运算符​
示例​
基础运算符​
求和运算符​
+​
$1.key1+$1.key2>10​
​
减法运算符​
-​
$1.key1-$1.key2>100​
​
乘法运算符​
*​
$1.LatencyMs\*1000>10​
​
除法运算符​
/​
$1.Distance/1000>10​
​
取模运算符​
%​
$1.Column%10==0​
比较运算符​
等于​
==​
$1.Number==100​
$1.Result=="Error"​
​
大于​
>​
$1.Number>100​
​
小于​
<​
$1.Number<100​
​
大于等于​
>=​
$1.Number>=100​
​
小于等于​
<=​
$1.Number<=100​
​
不等于​
!=​
$1.Result != "error"​
括号​
小括号​
控制运算优先级​
()​
($1.key1+$1.key2)/$1.key3>100​
逻辑运算符​
与​
&&​
$1.Number>100 && $1.Result=="Error"​
​
或​
||​
$1.Number>100||$1.Result=="Error"​
转义运算​
转义运算​
[]​
[$1.process-time],其中 process-time 整体会被当作一个key。​
​
​
最近更新时间:2025.09.04 16:12:45
这个页面对您有帮助吗?
有用
有用
无用
无用