“和大家分享华为对Zabbix的三个探索实践,为了解决集群管理、Agent迁移、高可用管理问题,设计了水平扩展方案。为了实时监控数据实时呈现,设计了数据实时消费方案,还有为了构建万物互联的智能世界,设计了网络的体验监控方案。
——肖骏,华为技术有限公司,SRE
本文整理自肖骏在2020Zabbix中国峰会的演讲,ppt可在网盘获取:https://pan.baidu.com/s/1KL58mpRWcYl4UmBtJbvFDg 密码:ew3p。更多演讲视频可关注官方Bilibili账号主页(ID:Zabbix中国)。
一 Zabbix在华为的实践历程
首先介绍华为IT生产环境,华为IT是内部支撑的IT,人数庞大,它对应的IT系统也很庞大,主要包括办公系统、HR系统、财经系统,还有运营商系统等等。
我现在负责华为的全链路压测服务,今天分享的内容包括:Zabbix建设历程,业务体量,架构设计,后面我会分享我们做的三个探索实践。主要是水平扩展,数据实时消费,还有网络的体验监控。
首先看一下华为的一个Zabbix的实践历程,在2015年,华为商城引入了Zabbix,当时使用的Zabbix2.2版本,主要是监控VMall公有云的主机,中间件数据库等,在2016年看到在VMall试点很成功之后,在内网也引入了Zabbix,引入的是3.0版本,覆盖的是主机中间件数据库监控,在2016年试点完之后,在2017年在内网全部铺开了,将ZabbixAgent作为主机监控的标准Agent,存量机器也全部覆盖了。
在全部覆盖之后,在2017年和2018年替换掉原来的Patrol监控,Patrol监控是一个比较老的软件,它面临一些问题,它的监控配置是需要人工手工去上面配的,每新加一个监控项,或者说修改一个监控项。都得上Patrol的界面,去每一个Agent的上面配一下,太影响效率了,而且它的监控数据不能实时消费,也是比较影响监控效率的,用Zabbix把Patrol替换掉之后,可以实现监控策略的自动下发,监控数据是可以实时消费的,就极大地提升了监控效率。
在2017~2018的时候,尝试了做一些网络体验监控,在华为的市场大会都有做的网络设备的监控,在那种运营大屏上展示,当大规模展开之后,单靠Zabbix是满足不了需求的,就得搭很多套的Zabbix,就会有一个Zabbix集群。在2018年做了一个探索,做了一个高可用建设,实现了多套Zabbix的集中管理,就是说Agent可以在集群间自由迁移。
二 业务体量
接下来看一下我们的业务体量,我们的业务范围主要分为三大块,第一块主要是主机/中间件监控,第二块主要是端口拨测监控,第三块是网络监控。其中主机/中间件监控主要使用的是Zabbix Agent功能,端口波次监控和网络监控使用的是Zabbix proxy ping监控能力。
大家可以看一下我们的数量级,主要的监控数量级都是10万级以上的,这种规模还比较大,监控频率主要都是按需,有的是分钟级,有的是一分钟级,那种要求最高的是网络体验监控,是一秒级。我在后面会讲到。
三 架构设计
接下来讲一下我们监控的整体架构,监控的覆盖范围是很广的,它覆盖了I层P层S层的监控,左边可以看我们的业务范围是很广的。为了做这些监控,有一个监控策略,统一管理平台,类似于对标Zabbix 的trigger,但是它肯定不只,就是说Zabbix因为有很多的监控工具,它其实就是一个告警阈值项。在监控策略管理