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

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

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


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

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

在监控中配置触发条件

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

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
643 2
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
450 5
|
11月前
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
518 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
11月前
|
安全 测试技术
【YashanDB知识库】设置归档日志上限,但归档日志没自动清理,导致磁盘空间满
客户在一主一备性能压测中设置了归档日志清理上下限(12G-16G),但实际产生了100G+归档日志,导致磁盘空间满。原因是未设置ARCH_CLEAN_IGNORE_MODE=BACKUP,系统默认在备份后才清理日志。解决方法是设置ARCH_CLEAN_IGNORE_MODE=BACKUP,并执行`alter database delete archivelog all`触发清理。修改参数后,日志仍可能短暂超过上限,因备机同步延迟。经验总结:需同时设置归档上下限和ARCH_CLEAN_IGNORE_MODE=BACKUP以确保日志及时清理。
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
465 1
|
Prometheus Kubernetes 监控
告警规则设置方法
告警规则设置方法
493 3
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
307 1
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
407 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
弹性计算 Prometheus Cloud Native
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的

相关产品

  • 日志服务