作者简介
周伟 百度高级研发工程师
负责百度智能运维(Noah)监控报警系统、通告平台;在精准报警、精准通告、报警收敛、公/私有云监控等方向具有广泛的实践经验。
干货概览
监控报警是故障发现的重要一环,也是百度在AIOps的最早切入方向之一,目前百度 AIOps 在监控报警方面已经有两个场景取得突出效果:智能异常检测和智能报警合并。
如何支撑 AIOps 算法在监控报警系统的快速落地并产生业务价值,这对监控报警架构提出了很大的挑战!本文首先介绍百度Noah监控报警的功能和业务模型,然后重点分析百度监控报警系统在落地 AIOps 过程中遇到的挑战。
百度Noah监控报警系统
首先我们介绍下百度的标准故障处理流程,如上图所示,主要分为以下7个过程:
故障发生:比如当内网机房核心交换机发生故障时,会造成内网的网络故障,从而导致产品线的流量损失。
故障发现:监控系统实时检测到产品线的流量异常。
故障通告:监控系统会通过短信或电话等渠道通知业务运维人员,产品线流量有异常。
故障止损:业务运维人员会执行故障预案,或者借助故障自愈平台智能地执行故障止损操作,以达到快速止损的目的,常见的操作是将流量从故障机房切到非故障机房。
故障定位:运维人员和研发人员一起定位故障根因。
故障恢复:当定位到问题后,运维人员开始执行修复操作,直到线上的所有服务(包括未接流量的模块)都彻底恢复正常。
故障总结:运维人员会对故障处理流程进行复盘总结,好的方面继续保持,不好的方面排期改正。
在整个故障处理流程中,监控系统主要负责故障发现到故障定位的环节;报警系统作为监控系统的子系统,主要负责故障发现和故障通告。
百度Noah报警系统最早服务于百度内部的监控平台,提供从机器、实例到上层业务等全方位、立体化的监控报警能力,已经覆盖百度的所有产品线。同时,系统面临很大的挑战,每秒需要处理千万级个数据点,线上的监控配置已经达到百万级别,每天会产生千万个报警事件,在这么大的量级下,还需保证秒级的报警时效性。
百度Noah报警系统不仅为百度内部用户服务,我们还同时为公有云和私有云服务提供监控报警能力。我们将内部强大的监控产品和运维理念输出到业界,打造了NoahEE产品(详见《百度云企业级运维平台——NoahEE》介绍 ),帮助客户一起提升运维效率和线上稳定性。另外,我们还依托报警系