- 系统优化与进阶之道:大规模复杂场景下的技术创新实录
- InfoQ中文站
- 2084字
- 2020-06-26 06:07:38
FreeWheel的AIOps平台建设
FreeWheel的AIOps平台目前还在构建过程中,如上文所述在某些领域已经开始了探索性的工作,同时也逐步规划好未来的演进方向。
上文提到,监控层面的挑战是FreeWheel探索AIOps的重要驱动力之一,也是重点考虑的切入点。由于业务的复杂性和快速演进,FreeWheel监控系统的报警来源变得非常多样。单就监控系统而言,FreeWheel使用了流行的Nagios和Zabbix以及开源的ELK技术栈,也使用了在云端应用较多的商业软件Datadog,以及Splunk等产品。下图展示了FreeWheel目前监控体系(包括统一报警、事件收集、分析通知平台)的架构图:
左侧的所有监控平台和日志系统都是FreeWheel现在的监控数据源,通过公司的邮件系统和Slack消息系统进行集成和整合,运维团队(主要是NOC - Network Operation Center团队)重点关注这两个渠道的报警信息。NOC系统内部有数据可以进行训练,会预先设定某些条件,对报警消息的主题或内容做标识,这样NOC就能通过识别标识,进而触发图中右侧的OpsGenie自动化平台。OpsGenie提供丰富的接口,能够实现多种自动化流程和动作,例如发送即时消息、短信甚至直接打电话。这样,严重的报警或事件就能第一时间进行通知并及时得到响应。
在该体系中,Splunk和ELK可以在一定程度上做机器学习,基于大量的Metrics和日志在内部建立一些数据模型并进行训练,生成规则协助分析并解决问题,但它们并不能覆盖所有的数据源。此外,由于报警来源太多,各种数据格式不规整,再加上监控的频度也不一样,报警有快有慢,一个问题可能引发很多报警,虽然邮件系统和Slack对报警消息实施了初步的整合和归集,但如图所示,由于智能化应用程度有限,它们并未能大幅消减报警风暴,并提供有益的关联分析等功能,这样运维人员分析和定位问题的效率并未大幅提升。
为了解决上述问题,FreeWheel计划对目前的监控体系进行优化,主要是引入MoogSoft来替换上图中邮件系统和Slack所占据的中心位置,使后两者回归通知渠道的本职功能,而MoogSoft将进行:
· 将监控平台集中化和统一化,规整来自各种数据源的报警信息,使之更利于理解和分析,包括机器学习技术的应用;
· 汇总、关联报警信息,比如根据时间、区域、主题等维度的相关性对报警信息进行归类和压缩等;
· 过滤、分析数据进行知识学习,比如根据过往处理的报警事件相关信息,通过机器学习建立模型(包括特定报警事件中报警消息的模式等),以用于识别未来发生的类似报警事件。
经过如上处理,各个数据源关于同一个事件的多个报警通过机器学习的模型分析汇聚成一个报警,避免了报警风暴造成的困扰,使运维人员可以快速准确地定位到问题。OpsGenie再触发流程及时通知相关技术响应人员,处理报警的效率就会很高。这样优化后的监控体系架构如下图所示:
此外,在分析报警事件的过程中,基于相关性的分析,Moogsoft不仅可以为运维人员提示与当前事件类似的过往事件,还可以通过时序分析提示当前事件所聚合的成百上千报警信息中可能的根源(Root Cause)报警信息,以协助加速问题的分析与解决。在处理完某个报警事件后,运维人员还可以将所积累的知识标注和关联到系统中,以支持系统模型的不断提升。
在监控层面,如上文所述,FreeWheel另一个挑战是期望在直播赛事过程中先于客户发现问题。这就需要能做到实时监控并有效预警。作为上述监控体系的补充和增强,FreeWheel的监控团队还构建了集中统一、时效性更高的监控平台PQM,如下图所示:
该平台采样间隔粒度更细,数据库选用专为实时监控设计的时序数据库,也引入了Kubernetes原生的Prometheus监控平台来采集数据。在报警爆发以后,监控平台可以自动做出响应,同时这套监控系统还会基于非实时流量对业务数据做异常流量的自动检测,再结合上述监控体系智能化技术进行辅助决策,就可以很好地定位问题甚至预防问题。
在监控层面之上,FreeWheel也探索使用AIOps技术协助解决一些业务挑战,比如欺诈和无效流量(IVT)的识别。在机器学习方面,通常需要一个数据集合来训练模型,然后才能对其进行测试,但是建立一个准确的、表示复杂机器人流量的数据集几乎是不可能的,也是非常昂贵的。但广告决策平台的特殊定位,使得FreeWheel有机会解决数字广告生态系统中无效流量的问题。具体而言,应用机器学习理解最终用户的行为,形成模式构建模版,之后用聚类算法来模拟流量行为,这样可以识别突发流量,对流量进行有效的评估,更好地检测欺诈行为。FreeWheel已开始进行初步的探索,结合广告服务器的事务日志数据进行分析,帮助做出有关IVT检测和删除的有效决策。
在监控层面之下的基础设施,FreeWheel也探索使用AIOps技术来优化相关的运维工作。比如针对网络基础架构所面临的挑战,FreeWheel在积极的实施SD-WAN技术解决方案,该技术允许针对数据中心间流量的数据包进行动态重新路由,其中的核心技术First-Packet IQ可以根据某个应用的首个数据包进行应用识别,使其远优于目前典型的数据包检测以及端口检测方法。这种智能化的技术有助于我们更快地识别恶意流量,减少被攻击的可能性,并优化基础设施的使用效率,更好的保障关键业务的运行,也减轻了基础设施运维的压力和风险。
总体而言,在逐渐探索采用AIOps技术之后,FreeWheel团队能明显感觉到报警繁多的痛点得到了极大的缓解,一些智能决策的支持也让团队的效率明显提升,尤其能帮助运维团队快速有效地定位、识别、解决问题,降低MTTR。对于FreeWheel这样业务分布在全球的公司来说,AIOps平台和工作流程的优化能切实解决很多问题,具备很好的应用前景。