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整合实现对安全日志数据的实时监控告警
|
2月前
|
JSON Prometheus Cloud Native
Grafana 系列 -Loki- 基于日志实现告警
Grafana 系列 -Loki- 基于日志实现告警
|
7月前
|
Web App开发 存储 监控
日志服务之告警接入与管理
本教程介绍如何使用日志服务接入NGINX模拟数据,并配置告警规则来对NGINX访问错误进行监控。
334 0
|
5月前
|
监控 数据库
136 日志监控告警系统案例(代码实现)
136 日志监控告警系统案例(代码实现)
82 0
|
5月前
|
监控
135 日志监控告警系统案例(数据模型设计)
135 日志监控告警系统案例(数据模型设计)
81 0
|
5月前
|
消息中间件 监控 关系型数据库
134 日志监控告警系统案例(功能架构分析)
134 日志监控告警系统案例(功能架构分析)
72 0
|
5月前
|
分布式计算 监控 前端开发
133 日志监控告警系统案例(需求分析)
133 日志监控告警系统案例(需求分析)
55 0
|
Oracle 关系型数据库
Oracle自带adrci工具清理告警日志
Oracle自带adrci工具清理告警日志
515 0
Oracle自带adrci工具清理告警日志
|
SQL 监控 关系型数据库
【python小脚本】监听日志文件异常数据发送告警短信
老项目中有个用脚本启动的服务,很重要,用来做业务留痕的,涉及业务客户经常性投诉,是找第三方做的,时间长了维护需要花钱,老出各种未知bug,没办法处理所以机器上配了定时任务,定期的几天重启一次来解决。 但是有时候不知道什么原因,重启脚本运行,服务没起来,crond 也没有什么调度机制。 希望写个脚本做监控,当发现服务没起来,发送告警信息,或者重启服务。
139 0
|
监控
限制SLS告警通知时段的几种常见方法
在对系统进行监控告警的过程中,有时候并非在任何时候都要接收告警通知,本文会介绍几种常见的限制告警通知时段的方法,以及它们各自所适用的场景。
348 0
限制SLS告警通知时段的几种常见方法

相关产品

  • 日志服务