5分钟理解SLS告警通知时机

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: SLS告警支持丰富的告警管理功能,例如合并抑制静默等功能,跟SLS旧版告警相比增加了很多告警降噪抑制的功能,和用户管理,值班组和可定制复用的内容模板功能。在使用的过程中,因为增加了告警的降噪功能,从告警产生到发送通知这个过程增加了一个告警降噪的过程;因为降噪机制的存在,可能会出现告警触发但不一定会立即发出通知的情况。了解SLS告警通知时机将有助于理解这些情况。

前言

SLS告警支持丰富的告警管理功能,例如合并抑制静默等功能,跟SLS旧版告警相比增加了很多告警降噪抑制的功能,和用户管理,值班组和可定制复用的内容模板功能。在使用的过程中,因为增加了告警的降噪功能,从告警产生到发送通知这个过程增加了一个告警降噪的过程;因为降噪机制的存在,可能会出现告警触发但不一定会立即发出通知的情况。了解SLS告警通知时机将有助于理解这些情况。


本文将以此为背景,介绍SLS告警发出通知的时机。

简单告警系统通知流程

一般的告警监控系统会包括告警监控和告警通知,告警监控会不断的检测监控目标是否满足设置的触发条件,如果满足触发条件,则会生成一条告警,然后将告警信息通知出去。这个过程中几乎没有告警降噪的处理,或者仅有一些简单的降噪,比如可以设置连续触发阈值,连续满足触发条件N次后才触发告警。

SLS告警的通知流程

首先看下SLS的告警管理架构图:

  • 告警源:包括SLS的告警监控系统和开放告警系统,开放告警可以接入Zabbix,Prometheus,Grafana,DataDog,CloudWatch等十多种告警监控系统,这些系统产生的告警会发送到SLS告警管理系统。
  • 告警管理:包括了告警的降噪功能,主要包含合并,抑制,静默等功能,这些配置统称为告警策略
  • 通知管理:主要包括了行动策略的配置,行动策略可以理解为通知渠道的配置,比如配置发送渠道为短信,语音,钉钉,Slack等。

本文主要关注告警如何发出通知,告警策略的配置会影响告警发出通知的时机。在SLS控制台新建告警策略,会出现配置页面,可以添加一个分组合并配置,如下图所示。

分组合并配置中主要包括三部分内容:

  • 合并基准:表示告警源产生的告警按照什么字段合并到一个组里面,在发送通知时,一个组里面的告警会一起发送。
  • 行动策略:表示发送通知的渠道配置。
  • 等待时间:包括首次等待,变化等待和重复等待时间,本文也将通过这几个概念来介绍告警通知的时机。


SLS告警通知的时机

告警策略的概念在SLS告警的帮助文档中有很详细的介绍,可以通过告警降噪控制来查看。

这里假设用户已经理解了路由合并的概念,不熟悉的用户可以参考路由合并。在告警合并后,会产生一个或多个合并集合,三个等待时间也是在集合的基础上起作用。

下面以一张图,来展示从告警产生到合并到某个集合中,到发送通知的整个过程。

上图中三角形和圆形表示告警源在不断的产生告警,这些告警可能来自SLS告警监控,也可能来自第三方告警监控平台,比如Zabbix,Prometheus等。

产生的告警会首先进入配置好的告警策略,按照告警策略中的合并基准进行合并,合并后的告警会分配到一个合并集合中,上方小方框代表一个合并集合。

图中概念解释:

  • group_wait: 首次等待时间。
  • group_interval: 变化等待时间。
  • repeat_interval: 重复等待时间。
  • check:会判断是否需要发送通知,如果不满足发送通知条件,不会发送通知。

接下来以一个合并集合为例,来解释这个合并集合发送通知的时机。

group_wailt

从第一个告警进入某个告警集合开始,此时时刻假设为0,SLS经过group_wait时间后,会将该集合中的告警根据行动策略通知出来。在这个过程中可能会有新的告警进入同一个合并集合中,在通知时会将集合中的所有告警信息合并发送。

group_interval

从第一个group_wait发送之后,每隔group_interval,SLS会判断该集合是否需要发送通知,这个过程中如果该集合中一直有告警产生,在group_interval到达时会发送通知;如果其中有告警恢复,在group_interval到达时,也会一并将告警恢复信息发出。

在group_interval达到时,SLS会判断是否需要发出通知,不是一定会发出通知。

通过上述group_wait和group_interval的概念可以得出:

SLS第一次发出通知的时机是group_wait后,后面的通知时机都是每经过group_interval时间。

repeat_interval

repeat_interval表示同一个告警集合在不变的情况下,连续多长时间不在发送通知,是一种有效的减少告警风暴的设置。告警集合不变的解释可以参考【链接


在告警抑制,告警静默的场景中同样遵循上述通知时机,限于篇幅本文对告警抑制和静默不做过多介绍,本文主要关注在通知时机上。

  • 关于告警抑制的机制可以参考【链接
  • 关于告警静默机制的机制可以参考【链接


总结

通过上述的分析,介绍了SLS告警的告警通知时机,了解了告警通知时机,有助于我们对SLS告警的降噪机制的使用,也可以自行对告警通知进行分析;

在开放告警中,通过第三方平台产生的告警,也可以配置相应的告警策略进行降噪处理。


参考

  • 什么是日志服务【链接
  • 什么是日志服务告警【链接
  • 通知管理概述【链接
  • 告警管理概述【链接
  • 创建告警策略【链接
  • 创建行动策略【链接
  • 开放告警概述【链接
  • SLS告警-学习路径【链接


进一步参考

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
消息中间件 存储 运维
Zabbix与ELK整合实现对安全日志数据的实时监控告警
Zabbix与ELK整合实现对安全日志数据的实时监控告警
Zabbix与ELK整合实现对安全日志数据的实时监控告警
|
3月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之sls日志告警调用函数计算,出现抛出的结果异常,是什么原因
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
3月前
|
存储 运维 Serverless
函数计算产品使用问题之日志告警不生效,一般是由于什么造成的
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
Web App开发 存储 监控
日志服务之告警接入与管理
本教程介绍如何使用日志服务接入NGINX模拟数据,并配置告警规则来对NGINX访问错误进行监控。
396 0
|
4月前
|
JSON Prometheus Cloud Native
Grafana 系列 -Loki- 基于日志实现告警
Grafana 系列 -Loki- 基于日志实现告警
|
10月前
|
监控 数据库
136 日志监控告警系统案例(代码实现)
136 日志监控告警系统案例(代码实现)
101 0
|
10月前
|
监控
135 日志监控告警系统案例(数据模型设计)
135 日志监控告警系统案例(数据模型设计)
129 0
|
10月前
|
消息中间件 监控 关系型数据库
134 日志监控告警系统案例(功能架构分析)
134 日志监控告警系统案例(功能架构分析)
126 0
|
10月前
|
分布式计算 监控 前端开发
133 日志监控告警系统案例(需求分析)
133 日志监控告警系统案例(需求分析)
90 0
|
Oracle 关系型数据库
Oracle自带adrci工具清理告警日志
Oracle自带adrci工具清理告警日志
607 0
Oracle自带adrci工具清理告警日志

热门文章

最新文章

相关产品

  • 日志服务