触发条件
更新时间:2024-09-27
功能简介
触发条件表达式用于判断是否触发告警。将执行语句结果作为触发表达式的输入变量,当表达式判断结果为真时触发报警
语法
运算符 | 说明 | 示例 |
---|---|---|
$N.__QUERYCOUNT__ |
执行语句结果条数,N为对应的执行语句编号,最大值为100。执行语句不包含 SQL:匹配检索条件的原始日志条数;执行语句包含 SQL:SQL结果条数(注:SQL结果条数不是SQL统计结果,如count(*)结果为0,但结果条数是1) | $1.__QUERYCOUNT__ |
$N.keyname |
引用执行语句的结果,N为对应的执行语句编号,keyname 为执行语句结果中的字段名称。 | $1.ErrCount $1.value |
+ |
求和运算符 | $1.ErrCount + $1.FatCount > 10 |
- |
减法运算符 | $1.Count - $1.InfoCount > 100 |
* |
乘法运算符 | $1.RequestMilSec * 1000 > 10 |
/ |
除法运算符 | $1.RequestSec / 1000 > 0.01 |
% |
取模运算符 | $1.keyA % 10 == 0 |
== |
比较运算符:等于 | $1.ErrCount == 100 $1.level == "Error" |
> |
比较运算符:大于 | $1.ErrCount > 100 |
< |
比较运算符:小于 | $1.pv < 100 |
>= |
比较运算符:大于等于 | $1.ErrCount >= 100 |
<= |
比较运算符:小于等于 | $1.pv <= 100 |
!= |
比较运算符:不等于 | $1.level != "Info" |
() |
括号,控制运算优先级 | ($1.a + $1.b) / $1.c > 100 |
&& |
逻辑运算符:与 | $1.ErrCount > 100 && $1.level == "Error" |
|| |
逻辑运算符:或 | $1.ErrCount > 100 || $1.level == "Error" |
触发条件配置示例
日志样例
@stream | Level | CountSkipRows |
---|---|---|
stream1 | Error | 23 |
stream1 | Info | 0 |
stream2 | Error | 1 |
CASE1 对已汇总指标进行监控,设置大于某阈值时触发报
执行语句:select CountSkipRows 触发条件:$1.CountSkipRows>10
CASE2 过滤关键词后对已汇总指标进行监控,设置大于某阈值时触发报警
执行语句 match stream1 | SELECT CountSkipRows 触发条件:$1.CountSkipRows>10
CASE3 出现 Error 级别日志时触发报警
执行语句: match Level:Error 触发条件:
$1.__QUERYCOUNT__
>0
或
执行语句: match Level:Error | select count(*) as cnt 触发条件: $1.cnt >0