
上次我们讲到复杂事件处理(CEP,Complex Event Processing)技术在IT运维告警领域较为惊喜的落地效果,与现在大部分厂商基于重复性规则的方式进行降噪不同,CEP可以挖掘事件里面蕴含的价值。接下来我们来看看在这种流式事件处理的场景中,事件数据是如何处理的。
首先回顾一下告警场景中最基础的元素event,指系统中发生的任何可观察到的变化 ,是最基础的概念,比如服务器CPU使用率发生了变化,它从各个系统中源源不断的集中到统一告警系统中,CEP通过“窗口”的机制把这种无限的事件流划分成有限的 “数据块”,然后系统对这些数据块进行分析处理,下面介绍一下三种窗口类型:固定窗口、滑动窗口、会话窗口。

也叫做滚动窗口,特点是时间长度固定(即系统每一次会处理这个窗口内的数据),并且窗口之间不会重叠。打个比方,设定一个 10 秒的固定窗口,那么就会依次生成[0-10]、[10-20]这样的窗口。
这种窗口处理机制常适用于对时间范围有明确要求的聚合类计算,比如每分钟的用户访问量统计就可以用固定窗口。

滑动窗口有两个关键参数,分别是窗口大小和滑动步长。它会以固定的步长向前滑动,窗口之间是存在重叠的。例如,窗口大小为 10 秒,滑动步长为 5 秒,那么就会生成[0-10]、[5-15]、[10-20]等窗口。
滑动窗口适用于需要进行实时趋势分析的场景,比如检测 5 分钟内的CPU变化趋势。

会话窗口的边界是由事件之间的间隔时间(会话超时时间)来确定的。如果在规定时间内没有新的事件到来,当前窗口就会关闭,后续的新事件会开启一个新的窗口。说的可能有点抽象,我们举两个例子可能就清楚了:
在统一告警中心场景中,综合三种独特机制从海量事件中快速定位真正需要关注的问题,减少无效告警的干扰,提升运维效率。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。