案例分享 | 苏宁如何建设智能监控报警中心?

“总结苏宁智能报警中心,就是全自动、精准快、闭环、智能。”
——尚海, 智能监控与运维产研中心技术副总监,苏宁易购


本文整理自尚海在2020Zabbix中国峰会的演讲,更多演讲视频可关注官方Bilibili账号主页(ID:Zabbix中国)。

一、 苏宁立体化监控体系

01- 背景介绍

我今天分享的主题是苏宁智能监控报警中心,主要包括4个部分,苏宁立体化监控体系,Zabbix大规模监控实践,监控告警自动化,智能报警中心建设。

第一部分苏宁立体化监控体系,先介绍背景。第一个就是业务广泛性,在苏宁整个体系下面有易购,线上线下置业、金融、家乐福、视频、体育、直播、物流等等,只要有苏宁服务的地方就要有监控。第二个是监控范围的复杂性,在苏宁的系统多机房部署,也是一个多云部署,多活架构。无论监控的范围有多复杂,都是要做到全面监控的。第三个,系统和服务的复杂性,在苏宁系统多、调用关系也比较复杂,正是因为系统多、调用关系复杂,更需要能够去更好的做到端到端的监控。第四个,监控告警的诉求,告警要做到全、快、精准以及智能化和可视化。

对背景做一下总结,监控范围越来越广,越来越复杂,监控能力是越来越高,越来越智能。监控的使用体验要求越来越好。因为目前监控平台在苏宁内部的用户现在大概是1万多人,那么不同的层级的用户其实对体验各方面的要求也是不一样的。因此基于上述背景,我们提出构建立体化监控和智能报警中心,所谓立体化监控,首先它是一个体系,不是监控工具,也不是几个监控工具,也不是几个监控系统,它是一个完整的全面的一个体系化的监控。其次在立体化监控里面的话,它是有点、线、面的一个有机结合的监控。第五个是在立体化监控里面是要能够做到交叉监控,智能报警中心就是管理和治理智能化和可视化。那要构建立体化的监控也好或者说是构建某一个垂直领域的监控工具,或者监控系统。

02- 关键点

总结有几个关键点,第一个容量和性能,第二个告警,第三个数据容量和性能。无论是去构建什么样的监控,容量要够大,要能够承载监控范围的量。比如说我们现在在苏宁易购体体系下面,整个目前监控服务器的话现在大概几十万台,那么我们怎么能够做到这样一个容量,能够承载这么多服务器的监控,包括网络设备,包括其它的指标监控。

正是因为量大,更要确保监控的全面性和完整性,监控一个都不能少,一个都不能错。最后一个就是监控就是容量够大之后还要能够做到高可用以及可扩展的。第二个就是告警,有了监控之后告警。第一个其实要做到怎么能够做到告警的实施,在实施的基础上去做到秒级的告警实施,精准的告警以及告警的关联分析。第三个就是数据,无论构建什么样的监控体系,那么数据怎么能够做到数据可视化,数据的一些分析以及最大化程度的挖掘监控数据的一个价值和输出。那么围绕着这容量和性能告警数据这三个关键点去构建立体化监控体系和智能报警中心。

03- 建设路径

我们怎么去构建的呢?无论是Zabbix监控Prometheus监控以及其它层面的监控,那么如果说要从建设路径上来说的话,主要就包括5个,怎么采集?怎么存储?怎么计算?怎么分析?怎么可视化?采集采集的话也要根据采集对象的不同来选择对应的采集方式。比如说日志的采集,可能会用到flume,那么一些网络设备服务器的采集会用到Zabbix会用到prometheus,那么调用链的相关的数据采集,可能要用到一些调用链的探针等等其它的一些方式,就是根据采集对象的不同选择对应的采集方式。那么对采集的还有一个要求,就是要能够做到秒级采集,以及对采集方式的一个个性化可定制的这么功能。

采集完之后,第二个就是存储,根据采集对象的不同,那么也要去选择对应的不同的存储,比如说持续存储、日志存储图存储以及metric存储,比如说我们通过监控采集的一些拓扑数据关系数据,包括网络拓扑,IP拓扑、DU拓扑、系统拓扑,那么是要存在图数据库里面的。因为你如果说存在关系型数据库的话,你会发现你如果要用到这个数据,你要对Mysql比如说这种数据要有大量的这种校验操作,其实性能肯定是支撑不了的。同样日志可能要用到 elastic search测试去做存储,包括等等其它的总是要选择对应的一些存储计算。

有了采集有了存储之后怎么去做计算?比如说用了Zabbix其实是有一定的数据计算能力的,包括Prometheus也有,包括自己自研的一些引擎方面的计算,包括等等其它的,那么同样也要根据前面的采集的指标,存储的方式去选择对应的计算。那么计算要达到的就是既有事实计算也有离线计算,包括计算的过程当中要引入一些算法。那么有了计算之后去做分析,分析主要是有一些聚合方面的,收敛分析方面的,根因定位方面的。最后无论是告警也好,监控也好,要都能够做到可视化。

04- 体系概览

在这里插入图片描述

这是苏宁当前的一个立体化监控体系的概览,从这张图的最下面能够看到,其实就是监控范围,苏宁的整个业务体系都是要在整个监控体系覆盖之下的。那么在这张图的最上面,也是立体化监控体系的四大组成部分。第一个是配置中心,第二个是可视化平台,第三个是智能报警中心,第四个是监控开放平台。

最下面是苏宁智能报警中心,在苏宁智能报警中心下面就是构建了很多垂直领域的一些监控工具,比如说基础的监控,Zabbix监控,Prometheus监控以及机房动环的监控,CDN的监控,以及日志的监控,调用链的日志,还有一些实时日志的监控,包括波测、端测、组件、业务等等,这也是刚才讲到的立体化监控里面的一部分。因为只要有需要做到监控的都有,比如说苏宁易购的APP,那么要能够做到一些端侧的监控,移动端的、PC端的,以及要能够做到主动的波测监控等等组成整体的一个立体化监控体系。那么无论是哪个层面的监控,它都是有报警的,都是由苏宁智能报警中心统一去承接,统一去做管理。

在上层就是可视化,因为智能报警中心其实也要做可视化的,包括监控的其它的数据一些可视化。那么有了这些之后做可视化,比如说监控大屏,每次双11大促、818大促的时候会有一些监控大屏,包括链路大盘,比如说支付链路、浏览链路、直播链路等等。具体的链路大盘结合其它的数据去做这种大盘监控,以及拓扑监控,网络等等的这些拓扑监控,一些融合分析监控视图,这些做到一些可视化监控。

05- 自我监控

在整个立体化监控体系里面,还有一个很重要的部分就是自我监控,因为监控是给别人提供监控服务的,自我监控也要能够做的更好。因为监控的服务有了异常之后,也要能够第一时间去发现,不然的话如果说监控服务有异常了之后,大家也收不到告警,也不知道是监控有问题,还是说没有报警。所以说针对自我监控。

第一个要做到自我监控的指标要够全。第一个就是数据采集的监控,要能够监控到你整个监控,比如说几十万台服务器的监控,这几十万台服务器的数据,每一个item的数据是不是都能够做到实时的采集?有没有采集失败的?有没有采集延时的,都要能够做到监控。

第二个就是告警服务的监控,在整个监控体系里面告警服务有没有异常,告警会不会有延时,会不会有积压,以及整体的服务有没有异常,也要能够做到第一时间发现。

第三个是访问服务的监控,因为这个就是说监控平台你访提供的一些访问服务有没有异常,比如说包括AP I等等,也要能够做到监控。

第四个也是很重要的一个监控,就是自动化监控。因为目前在苏宁的话,整个监控告警体系里面的话,所有的监控配置告警配置就是无人值守的,没有任何一个人去做任何的配置,全部都是自动化去做的。那么自动化实现过程的监控,比如说这个的话其实就要也要能够做到监控。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值