程序员

SLS新版告警入门-触发条件设置

作者:admin 2021-06-12 我要评论

告警监控规则根据评估表达式的执行结果来判断是否满足触发告警条件 以及评估动态告警严重度。您查询语句的执行结果将作为输入 集合操作结果的字段作为变量 当评...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

告警监控规则根据评估表达式的执行结果来判断是否满足触发告警条件 以及评估动态告警严重度。您查询语句的执行结果将作为输入 集合操作结果的字段作为变量 当评估表达式条件为真且符合连续触发阈值配置时 则触发告警。


本文主要介绍下触发的条件用法 主要包含以下内容

触发条件在告警监控的位置如何理解监控目标评估表达式的基本介绍触发条件的设置在监控中配置触发条件

image.png


SLS告警是通过定时调度的机制 来监控SLS中日志 时序和Tracing的数据 如果满足设定的触发条件则会生成一条或多条告警 分组情况下 后续的告警管理会对告警进行降噪处理 然后通过行动策略发送给通知渠道或者Webhook。

接下来将对告警监控流程中的触发条件的使用方法来进行介绍。

理解监控目标

这里的监控目标包含日志 时序 资源数据 在告警配置中的具体表现是 通过设定1个到3个查询 使用SLS查询分析 得到对应的中间查询结果 如下图 指定了3个查询 会有3个对应的中间查询结果 然后通过集合操作得到最终的一个集合操作结果 一般设置为1个查询 1个查询的结果就是集合操作结果 。这里的集合操作结果就是监控目标。

image.png

最终的监控目标 集合操作结果 可以当做一个表格来看待 如下表示集合操作结果有2列 4条数据。接下来这张集合操作结果将作为例子来演示触发条件的用法。

image.png

评估表达式语法

SLS告警监控中的表达式 主要支持基础运算符 包括加减乘除模等 比较运算符 逻辑运算符和一些数值 字符串 布尔常量等 具体语法可以参考评估表达式语法。比如可以设置pv 40作为评估表达式 注意不能只写单个变量作为表达式 比如只写pv 不是一个合法的评估表达式 下面是一些基本的语法

image.png

触发条件

触发条件是指SLS告警监控在评估时 如果集合操作结果满足设置的触发条件 就表示评估通过 会生成一条告警 触发阈值后面会有文章详细介绍 。

假如把上述的pv 40作为触发条件是否可以呢 答案是否定的 上述集合操作结果有4条数据 其中2条满足pv 40 这种情况下要不要触发告警 其实是信息量是不够的 到底是1条满足就告警呢 还是N条满足才告警呢 所以新版告警中我们增加了对满足评估表达式的结果条数的设置 这样可以更精细的控制触发条件。触发条件主要分为四种类型

image.png


有数据 代表集合操作结果有数据 至少有1条结果 就会满足触发条件 比如上述结合查询结果有4条数据 选择“有数据” 是满足触发条件的有特定条数据 表示对集合操作结果的条数做评估 比如例子中结果有4条 这里可以对结果中的条数进行比较判断 支持的比较运算符有大于 小于 区间判断等 比如例子中有4条数据 这里选 “有特定条数据 10 条”是不满足的 因为4 10。有数据匹配 例子中的4条结果中 只要有任意1条数据满足 pv 1000 就会认为满足触发条件 比如例子中4条数据的pv都小于1000 这里选“有数据匹配 pv 1000” 是不满足的有特定条数据匹配 是四种触发条件中最复杂的情况 表示满足评估表达式的条数 满足条数条件才会触发告警 这里有两个角度 某条数据是否满足评估表达式 比如例子中4条数据第一条不满足 pv 1000满足评估表达式的的总条数是多少 比如例子中4条数据满足 pv 1000的条数是0所以 如果选择“有特定条数据匹配 3 条 pv 1000”的时候 例子是不满足触发条件的

其中 第四种触发条件的设置是最完整的 第四种触发条件包含数据评估和满足评估表达式的数据条数评估 在选择触发条件时只能选择上述四种触发条件中的一种 可以根据实际监控需求 配置最简单的触发条件。

注意 对于有数据匹配和有特定条数据匹配都需要配置评估表达式。

典型场景

在配置告警监控中 经常会有一种需求 如果日志中出现了error 就告警 或者error在1分钟内出现5次就告警 配置经常使用类似如下查询语句

image.png

集合操作结果 对于只有一个查询的配置 查询结果就是集合操作结果 示例如下

image.png

这种情况下应该选择哪种触发条件 因为需求是error出现了5次就告警 经常会误解为需要选有特定条数据 应该选有特定条数据 5 条 这样是错误的 原因如下

因为查询语句中使用了count(1) as cnt这种聚合查询 查询结果只会有1条数据 数据是cnt:2 所以如果使用有特定条数据 5 条来判断 因为结果条数只有1条 永远不会满足条件。

正确的设置应该选择 有数据匹配 在评估表达式中填 cnt 5, 因为结果只有1条数据 这条数据满足cnt 5 就会触发告警。

总结

上文主要介绍了触发条件在告警监控的用法 主要用在监控评估阶段 用来判断集合操作结果是否需要触发告警 主要包含了数据评估和满足评估表达式的数据条数评估。

注意

上文中没有涉及分组评估 以上的触发条件的设置都是在分组评估的基础上进行 即集合操作结果会先根据分组字段进行分组 然后对每个分组上的数据 进行触发条件的判断。不分组 默认是一个分组。分组评估参考。该触发条件的配置出来用在监控评估中 还可以用在动态告警严重度的设置上 告警严重度参考。参考什么是日志服务告警【链接】SLS告警监控概述【链接】SLS告警评估表达式用法【链接】SLS新版告警使用评估表达式设置触发条件【链接】进一步参考SLS 日志服务 云原生观测分析平台 https://www.aliyun.com/product/slsSLS新版告警文档首页 https://help.aliyun.com/document_detail/207609.html欢迎扫群加入阿里云-日志服务 SLS 技术交流 集团同学请直接搜索群号11702236加入 ,?获得第一手资料与支持后续系列直播与培训视频会同步到B站 敬请留意

image


本文转自网络,原文链接:https://developer.aliyun.com/article/784628

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Windows 10新增磁盘分析工具:文件夹占

    Windows 10新增磁盘分析工具:文件夹占

  • 鸿蒙HarmonyOS环境搭建遇到的坑,分享

    鸿蒙HarmonyOS环境搭建遇到的坑,分享

  • Zabbix5.2由浅入深系列之制作网络设备

    Zabbix5.2由浅入深系列之制作网络设备

  • 转手赚1000,开源抢茅台神器,真香!

    转手赚1000,开源抢茅台神器,真香!

腾讯云代理商
海外云服务器