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

本文涉及的产品
对象存储 OSS,20GB 3个月
云备份 Cloud Backup,100GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 告警监控规则根据评估表达式的执行结果来判断是否满足触发告警条件,以及评估动态告警严重度。您查询语句的执行结果将作为输入,集合操作结果的字段作为变量,当评估表达式条件为真且符合连续触发阈值配置时,则触发告警。

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


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

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

在监控中配置触发条件

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

查询统计:

1

SELECT

Tcount(1)ascnt

error

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

image.png

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

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

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

总结

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

注意

  • 上文中没有涉及分组评估,以上的触发条件的设置都是在分组评估的基础上进行,即集合操作结果会先根据分组字段进行分组,然后对每个分组上的数据,进行触发条件的判断。不分组,默认是一个分组。分组评估参考
  • 该触发条件的配置出来用在监控评估中,还可以用在动态告警严重度的设置上,告警严重度参考

参考

  • 什么是日志服务告警【链接
  • SLS告警监控概述【链接
  • SLS告警评估表达式用法【链接
  • SLS新版告警使用评估表达式设置触发条件【链接

进一步参考


最后,如果您还想了解更多智能运维前沿资讯,欢迎您报名参加【数智创新行·智能运维专场】。

6月25日|上海·西岸国际人工智能中心

数智创新行上海站·智能运维专场

阿里云将带来云原生智能运维解决方案,满足海量事件有效感知、高效响应,可观测数据统一分析、故障定位,以及基于AI的异常检测等需求,助力企业构建自己的运维平台,成为开发、运维人员高效可靠的助手。

扫描海报二维码或点击下方链接报名, 期待您一起开启智能运维新时代!

https://www.aliyun.com/page-source//developer/special/osssalon

智能运维专场图片.jpg

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之如何设置Redo日志保存时间
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
7月前
|
弹性计算 Prometheus Cloud Native
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
|
7月前
|
JSON 应用服务中间件 开发工具
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
|
7月前
|
监控
若依修改-----其他功能,包括参数设置,通知公告,日志管理,验证码控制开关在参数设置里,若依的注册页面是隐藏的,在src的login.vue的97行注册开发,修改成true,通知公告,促进组织内部信
若依修改-----其他功能,包括参数设置,通知公告,日志管理,验证码控制开关在参数设置里,若依的注册页面是隐藏的,在src的login.vue的97行注册开发,修改成true,通知公告,促进组织内部信
|
8月前
|
SQL Oracle 关系型数据库
|
8月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之sls日志告警调用函数计算,出现抛出的结果异常,是什么原因
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
9月前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之在DataWorks中设置了一个任务节点的调度时间,并将其发布到生产环境,但到了指定时间(例如17:30)却没有产生运行实例和相关日志如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
144 0
|
9月前
|
机器学习/深度学习 运维 监控
用SLS配置日志关键字告警的N种方法
本文由日志关键词告警出发,介绍了使用SLS进行关键词监控告警配置,并且介绍了几种常见的配置方法,可以覆盖关键词监控的大部分场景。
479 0
用SLS配置日志关键字告警的N种方法
|
9月前
|
运维 监控 安全
SLS相同监控规则太多?试试告警监控模板
本文主要介绍了SLS自定义告警监控模板的使用场景以及最佳实践。
176 0
SLS相同监控规则太多?试试告警监控模板
|
9月前
|
存储 运维 监控
使用Terraform玩转SLS告警
本文主要介绍使用Terraform来操作SLS告警监控,告警管理。
133 0
使用Terraform玩转SLS告警

相关产品

  • 日志服务