【精选方案实施】基于Zabbix构建新一代运维监控平台
The following article is from 科技商业探索 Author 宏时数据
点击上方蓝字关注Zabbix开源社区,你懂的
该方案已参选2020年“第二届金融数据智能优秀解决方案”,转载请注明出处和本文链接。
本文是项目实施书,项目实施方为上海宏时数据系统有限公司。点击下方按钮即可查看项目方案介绍。
点击查看方案
项目背景及目标
项目背景及面临挑战:
近些年来,伴随着苏州银行业务的快速发展,对IT基础架构设备的运维监控和管理要求也日渐提高,势必会对运维监控系统带来极大的挑战和冲击。过去很长一段时间,苏州银行采用的是BMC Patrol商业监控软件作为基础架构设备的监控系统,但随着各种新型应用组件和开源技术组件日渐成熟,越来越多的新型应用组件和开源技术组件在苏州银行业务系统的生产环境中上线使用,并最终导致BMC Patrol商业监控软件无法满足苏州银行IT基础架构设备的监控和管理要求,因此,苏州银行急需规划和建设新一代运维监控平台来实现对现有IT基础架构设备监控的全面覆盖,以保障对业务系统健康稳定的运行。与此同时,开源技术发展迅猛,经过长期的调研和测试,苏州银行决定采用Zabbix开源监控系统配合定制开发的方式来构建新一代运维监控平台。
传统监控系统的痛点:
1.BMC商业监控软件,产品费用和维护成本高;
2.BMC商业监控软件存在license限制;
3.BMC商业监控软件原生无法监控各种新型应用组件;
4.BMC原厂的技术支持力度越来越弱;
5.BMC商业监控软件对硬件配置要求过高;
6.BMC商业监控软件产品架构复杂,过于庞大;
7.BMC商业监控空软件产品使用和维护难度高。
项目的目标:
基于Zabbix开源监控系统构建新一代运维监控平台,完成对苏州银行生产环境内所有的IT基础架构设备的监控,同时结合苏州银行自身的运维和管理要求,进行深度的定制,使得新一代运维监控平台能更好的契合苏州银行的要求,完全替换掉原有的商业监控软件,最终实现自主运维和自主可控的目标。
项目方案
一、开源监控系统选型
在确定使用开源监控系统替换商业监控软件的建设思路后,需要对众多的开源监控系统进行选型,众所周知,市面上有很多开源监控系统,从技术的角度来说,每个监控系统都各自的优势和特定的使用场景,因此,各个开源监控系统之间没有所谓的孰强孰弱之分,只有是否适合和满足用户的需求和使用场景,前期对比的两款开源监控系统分别是Zabbix和Prometheus,详细对比如下:
综合来看,Zabbix更适用于苏州银行的实际环境和运维要求,原因如下:
1.Zabbix前端PHP代码和后端C代码都开源,可以实现完全自主可控;
2.Zabbix发展时间更长,在国内外都有众多实际用户案例和应用场景;
3.Zabbix的配置和维护简单,更有利于在苏州银行落地和发展;
4.Zabbix在国内拥有完善的中文服务体系和多个官方合作伙伴及社区,可以获得更丰富的中文支持。
二、平台架构设计
基于Zabbix开源监控系统来构建新一代运维监控平台是苏州银行本期项目的主要目标,为实现该目标,新一代运维监控平台的逻辑架构如下:
此架构中,Zabbix开源监控系统作为采集层和处理层的核心组成部分,需要具备高可用和分布式架构的部署能力,Zabbix高可用架构如下:
利用Keepalived开源组件配合虚拟IP漂移的方式实现Zabbix Server和Zabbix Proxy等组件的高可用架构,并且配置MySQL数据库的主从复制,保证Zabbix主备系统后台数据的一致性。
三、技术方案
1.Zabbix开源监控系统替换BMC Patrol商业监控软件
搭建Zabbix高可用架构环境,将操作系统、数据库、中间件和应用组件监控涉及的脚本全部收集并重新封装到Zabbix Agent安装包中,再利用自动化工具批量部署和下发Agent,后续在Zabbix前端配置界面上添加主机的监控信息并关联监控模板,也可以利用Agent自动注册或者自动发现的方式实现主机信息的自动配置。对于J2EE架构的中间件监控可以同时使用JMX接口方式的采集该类型中间件的性能数据。
2.集中事件管理平台的定制开发和实施
基于宏时数据自研的集中事件管理平台完成对各运维系统事件的集中统一管理和设备资产配置管理的功能。其中事件统一管理包含Zabbix监控系统的故障事件的对接,同时结合苏州银行的实际需求进行定制化开发,将苏州银行现有的各种运维系统的事件通过统一接口集中汇总,实现对各种运维系统事件的二次处理、事件压缩、事件丰富、事件展示等。
设备资产配置管理则是在平台原有的资产功能的基础上,通过定制化开发实现资产批量导入导出、资产字段动态扩展、多维度的资产筛选、资产比对以及与CMDB系统的对接和同步。
3.动态实时的监控数据和业务数据展现
基于宏时数据自研的可视化平台,利用拖拉拽组件和简单配置SQL语句的方式实现对各种监控数据和业务数据的大屏展现,具体方案如下:
首先利用Zabbix API获取监控相关的数据,再结合ETL工具利用JDBC的方式从业务系统数据库中抽取业务数据,并最终将所有数据格式化后统一存储在可视化平台的数据库中,然后在可视化平台的前端界面进行简单的可视化组件和数据源配置即可完成充满科技感的动态大屏展现。
四、系统培训和上线
整个运维监控平台实施完成后,会有专业的系统培训师根据实际情况定制相关的培训方案和材料,将系统的使用和维护技能更高效的转移给客户,并支持平台最终上线投产。
创新点
相对于传统银行业偏保守的技术风格,本期项目对于苏州银行来说,是一个极具技术突破性的项目,主要体现在敢于尝试和使用开源监控软件来实现对传统商业监控软件的完全替换,并结合苏州银行的实际环境和需求进行深度定制化,最终成功设计和构建出新一代运维监控平台,并顺利的在生产环境上线和投产,为苏州银行业务系统健康稳定的运行提供了更强有力的支撑和保障,同时了打破过去商业监控软件在银行业用户中的垄断地位。
苏州银行作为地方性城市银行的重要代表,本期项目的成功实施,也为同行业的其他银行提供了丰富的开源监控软件替换传统商业监控软件实践参考经验。
如上所述是本期项目的最重要突破之一,当然,本期项目的创新和突破远不止于此,详细概况如下:
1.通过搭建Zabbix开源监控系统高可用环境,并以分布式方式部署监控组件,完成对BMC Patrol商业监控软件功能的完全替换,同时监控BMC Patrol不支持的对象,避免监控盲区的出现;
2.利用宏时数据专业的集中事件管理平台,配合定制化开发的方式实现对苏州银行现有网管平台、批处理平台、ITSM流程工单平台、告警平台的集成,并最终实现集中统一运维的管理要求;
3.基于Zabbix开源监控系统的原生功能,并配合Shell脚本和数据库SQL语句定制化的方式实现对苏州银行核心业务系统可用性和健康性的监控和展现,帮助用户在核心业务系统出现问题或即将出现问题的时候,及时的了解系统关键指标情况,便于问题的定位和处理;
4.利用宏时数据专业的可视化产品,以Zabbix监控系统采集到的性能数据、集中事件管理平台的事件数据以及苏州银行业务系统的数据作业务为数据源,深度定制动态的大屏展现,将运维监控数据、事件数据和业务数据有机的整合起来,并用充满科技感的方式动态实时的展现数据。
技术实现特点
运维监控平台架构和技术特点:
本期项目涉及到的功能模块主要有三大部分:Zabbix开源监控系统、集中事件管理平台、大屏展现模块等。新一代运维监控平台的整体逻辑架构如下图:
整个运维监控平台的功能模块也分别属于采集层、处理层和展现层三部分,采集层即Zabbix开源监控系统,负责对IT基础架构设备的性能和可用性监控,同时对采集到的数据进行处理并最终存储到后台的关系型数据库中。处理层包括两部分:Zabbix Server组件和集中事件管理平台,Zabbix Server主要是负责对Proxy和Agent采集转发的数据进行处理和逻辑判断,并按照监控触发器规则,生成对应的告警事件;集中事件管理平台主要是用于实现对来源于Zabbix系统、网络监控管理平台、批处理系统和其他第三方系统的事件集中汇集,并基于已配置的设备资产信息,对事件进行处理、关联和内容的丰富,最终利用短信、邮件、企业微信或者钉钉等不同的媒介发出故障通知给对应的系统用户。展现层主要是将Zabbix系统采集到的监控数据、集中事件管理平台的事件数据甚至于来自苏州银行业务系统的数据进行ETL抽取转换,再利用可视化组件进行统一、动态的大屏展现。
项目过程管理
本期项目整个周期约为三个月,为保证项目的顺利实施和推进,我们将项目划分为五个主要里程碑阶段,包括:设备信息收集和环境准备阶段、需求收集和分析阶段、监控系统平台实施和开发阶段、平台培训和试运行阶段、项目上线和验收阶段等。
1.设备信息收集和环境准备阶段是项目的前期准备阶段,主要是统计需要监控的设备数量、品牌、类型、所属区域等信息,同时提前准备监控平台所需要的服务器资源,确定监控平台需要部署的操作系统版本、数据库版本、中间件版本以及对应的端口和权限配置等;
2.需求收集和分析阶段主要是用于收集客户对操作系统、数据库、中间件、应用组件、虚拟化设备、存储设备等对象的监控需求,同时整理客户对事件管理、资产管理、第三方系统集成、告警通知、大屏展现等功能模块的需求,并针对所有需求进行分析和技术方案设计;
3.监控系统平台实施和开发阶段是本期项目的关键阶段,主要包含Zabbix高可用环境的具体部署和配置、数据库主从配置、监控模板的定制开发、监控代理的部署、平台性能优化配置、集中事件管理模块开发、资产管理模块功能开发、第三方系统集成接口开发、告警通知接口开发和大屏展现的定制化操作等;
4.平台培训和试运行阶段主要是在整个监控平台全部实施和开发完成后,为客户提供平台的使用和维护培训,实现技能的转移,帮助客户能够顺利的使用平台所有功能,同时整个平台开始试运行;
5.项目上线和验收阶段是在整个监控平台试运行一个月后,确认各模块的功能能够完全满足客户的实际需求,同时平台没有明显的BUG后,即正式上线到生产环境运行,并提交项目交付件,项目验收。
运营情况
新一台运维监控平台运营情况:
通过本期项目的建设,新一代运维监控平台已经在苏州银行的主数据中心和灾备数据中心同步上线使用,现阶段已覆盖苏州银行两个数据中心全量IT基础架构设备的监控,包括约1000台各类型操作系统、约200套各类型数据库、约150套各类型中间件、约45套存储设备和约160套各类型应用组件的性能和可用性监控,并且利用Zabbix监控系统对业务系统日志、目录、文件及Web链接进行监控,实现部分类似于APM的监控功能。
随着新一代运维监控平台进一步的向下推广,后期会逐步采用分布式架构扩展的方式,实现对苏州银行各个分行和独立运行的业务系统设备监控全覆盖,最终达成集中统一监控管理、自主运维。
项目成效
项目的效果:
通过本期项目的实施,完成基于Zabbix开源监控系统的新一代运维监控平台的构建,替换原有的BMC商业监控软件的所有功能,实现对各种IT基础架构设备(包括:操作系统、数据库、中间件、VMware虚拟化、应用组件、日志、存储设备等)监控和纳管、网络监管系统事件的集成、批处理系统事件的集成、ITSM流程工单平台的集成、告警平台的集成、集中统一的事件管理功能、设备资产配置管理功能、运维和业务数据展现功能等,同时,新一代运维监控平台能够支持高可用和分布式架构的部署,快速的架构和功能扩展,以满足苏州银行多数据中心的监控和管理要求。
项目的价值:
1.基于Zabbix开源监控系统构建的运维监控平台,实现对BMC商业监控软件功能的完全替换,降低苏州银行整体的IT运维成本;
2.利用Zabbix开源监控系统实现对IT基础架构设备监控的全覆盖,避免出现监控盲区;
3.基于Zabbix开源监控系统构建,极大的降低运维监控平台对服务器硬件资源的要求;
4.集中统一的事件管理,实现对苏州银行现有的各个运维系统事件的集成、事件的处理、事件的加工和告警通知;
5.动态和实时的大屏展现业务数据、运维数据,帮助苏州银行实现声、光、电等多维度的故障提醒和展现,利用大屏展现出整个业务系统和运维系统的健康性;
6.实现自主运维和自主可控的终极目标,降低对厂商的过度依赖。
经验总结
通过本期项目的建设和实施,突破性的使用Zabbix开源监控系统替换BMC商业监控软件功能,并基于此帮助苏州银行构建新一代的运维管理平台,最终实现集中统一、自主运维和自主可控的目标,关于本期项目经验总结包括:
1.成功使用开源监控系统替换商业监控软件,并作为核心运维系统在苏州银行生产环境投产上线,打破银行业客户的传统观念,有效的保障业务系统的稳定运行;
2.基于集中事件管理平台实现对苏州银行各个运维系统事件的集成和处理,达到集中统一运维的目的,便于对各个运维系统事件数据的关联和联动,避免信息孤岛;
3.利用集中事件管理平台的资产配置管理功能,重新梳理苏州银行IT基础架构设备的资产配置管理,并最终定制出设备资产配置管理规范;
4.在监控平台实施过程中,对监控项、监控模板和主机信息进行规范化命名及配置,在提升管理效率的同时,更有利于监控平台自身数据的备份、还原以及对外提供标准化和格式化的数据。
联系我们
电话:17502189550(微信同号)
邮箱:china@zabbix.com
网站:www.zabbix.com/cn www.grandage.cn
一键关注
关注公众号
加入社区群
Zabbix社区,因你而更美好
点击在看,把好文章分享给你的朋友(•̀ᴗ•́)و ̑̑
▼