基于开源软件的实时数据库智能监控平台研究与开发
2015-11-18李伟霄李光锴
李伟霄,赵 洁,邓 洁,李光锴,姜 宁
(中国移动通信集团设计院有限公司山东分公司 济南250001)
1 引言
某电信运营商公司目前有信息化系统37 套,主要包括硬件、软件、应用、数据库、业务等多类。经过几年的运维工作积累,公司的硬件(包括小型机、PC Server 和交换机等)自动监控、业务流程梳理等都有相关系统进行服务支撑。2013年底,政府主管部门明确要求全面深入地掌握公司信息化系统情况,提升快速发现问题和解决问题的能力。在此要求下,项目组决定在软件自动化监控方面进行突破。据统计分析,信息化系统拥有307 套软件,包括Web 服务软件、中间件、数据库、安全软件、备份软件、第三方软件和其他类型的软件,其中,数据库为103个,数据库的数量最大,所以本文重点研究实现数据库软件的自动监控与告警。移动信息化软件分布如图1 所示。
经过对常规1 台数据库巡检流程进行分析,可以看出,数据库手工检查内容繁琐,耗费时间。数据库日常巡检流程如图2 所示。
2 提出方案并确定最佳解决方案
结合目前IT 系统运维管理现状以及多年运维管理和技术经验,通过“头脑风暴法”和“德尔菲法”提出了4个数据库智能监控解决方案,如图3 所示。
图1 移动信息化软件分布
图2 数据库日常巡检流程
图3 实现解决方案
3 选择最佳方案
针对图3 所示的4 种备选方案,从成本、实施难易程度、实施周期、需求变动难度、运维管理职责等角度分别进行了分析,方案评估见表1。
为了将4 种方案的优劣进行量化对比,对成本、实施难度、实施周期、实施效果、后期需求变动难度共5个维度制定了评分标准,具体内容见表2。
根据上面制定的评分标准对3 种备选方案进行打分(最高分5 分),方案评分见表3,可选方案最终得分如图4 所示。
评估结果表明:成熟开源监控平台的方案实现最为合理,实施难易度适中,成本较低,后期维护难度最小,综合得分最高。
4 方案细化选优
先后研究和评估了国际上主流的开源软件,根据平台的用户规模、汉化程度以及监控功能,选择了Nagios、Zabbix、Cacti 作为监控平台的研究方向。随后根据软件选型方案,结合实际工作情况,整理出了软件选型的评估项,见表4。
分3 组对Nagios、Zabbix、Cacti 进行环境测试,根据实际监控需求,部署和配置了3 套软件平台,最终评分(最高分10 分)见表5。
开源监控平台的最终得分如图5 所示,通过对比选优,最终选择Zabbix 开源监控平台。
5 数据库监控接入实施
数据库监控平台接入实施流程为:监控数据库→监控项→触发器→告警动作→告警方式→告警用户组,具体实施内容可参考相应的接入实施手册,本文不再赘述。数据库智能化监控流程如图6所示,数据库接入后展示效果如图7 所示。
6 结束语
监控内容、参数、Agent 程序等经反复测试、数据收集,已经正式将信息化相关业务系统的数据库内容接入。通过Zabbix 集中监控平台实现了对数据库(Oracle、DB2、MySQL)可用性、连接情况、表空间情况、锁信息、日志信息等的监控,监控参数多达20 余个。现网数据库接入集中监控体系,将运维中常见的网络问题、应用服务问题、数据库问题进行有效区分,有助于迅速定位故障原因。另外,作为一种常规监控手段,当数据库性能触发设定阈值进行及时预警,可大幅提升因性能瓶颈出现的一系列应用故障处理效率。
表1 方案评估
表2 方案评分标准
表3 方案评分
图4 可选方案最终得分
表4 开源监控平台的选型评估模型
表5 开源监控平台的评分
图5 开源监控平台最终得分
图6 数据库智能化监控流程
图7 监控平台效果