文/杨秀云 郭磊 刘露 王玉军
云计算数据中心移动运维管理系统的设计与实现
文/杨秀云 郭磊 刘露 王玉军
随着国内信息化的发展,云计算数据中心的应用越来越广泛,承载的业务越来越多。不能将问题尽可能防患于未然,或发生警报不能及时解决,可能会造成业务中断,甚至造成一些不可挽回的损失。但运维管理云计算数据中心的管理工具种类很多,每种管理工具常用功能相对单一,查看比较分散,消息通知不够主动。将云计算数据中心各种管理工具的常用功能进行系统整合,及时将经常发生的警报消息推送给运维人员和领导,达到随时随地运维管理云计算数据中心的目的,是本系统主要研究内容。
云计算数据中心 常规巡检 消息推送 闭环管理 漏警 移动运维
目前云计算数据中心的管理工具很多,如云计算管理平台、基础设施监控软件、虚拟化监控软件、杀毒监控软件、网络资源监控软件、数据备份软件等,但应用侧重点不同,监控管理比较分散,并且发生警报后消息提醒不够主动,一般只能人工主动打开管理工具查看,如果运维人员查看不够及时,并不能在第一时间内得到警报。针对目前的云计算数据中心运维管理,本系统主要研究内容是如何将各管理工具的常用功能进行系统整合,警报发生后消息推送主动、及时、准确,并达到运维人员携带一款普通Android手机,能在第一时间内接收警报,完成故障诊断维修和常规巡检等工作目的。消息推送给运维人员的同时,领导也收到消息,领导及时掌握云计算数据中心运行现状,也对运维人员的工作起到监督与指导的作用。本系统还对系统化运维管理云计算数据中心做了一些功能补充,及无缝对接。
本文设计与实现的云计算数据中心移动运维管理系统的体系结构如图所示。主要分后台监控管理平台(以下简称后台)、移动运维手机终端(以下简称手持终端)和资源监控客户端(以下简称客户端)三大组件。
图1中体现了数据的基本走向。资源监控客户端定时向后台监控管理平台的数据层输送数据,移动运维手机终端与后台监控管理平台数据共享,数据双向传输。
图1:系统体系结构图
手持终端与后台采用REST FUL接口,两端的数据互通共享。
客户端主要功能是定时探测虚拟主机的CPU、内存和磁盘容量及当前使用情况,以自定义协议的形式周期性发送给后台的资源监控服务端(以下简称服务端)。
该软件主要设计了IT设备运行状态、在线主机、在线运维、常规巡检、消息提醒、漏警通报、网络工具、领导审批和资源分配等9种功能,由领导和运维人员两种角色。角色不同,权限不同。领导角色,具有领导审批权限,和查看所有功能数据的权限;运维人员具有除领导审批权限的其他功能,但只能查看自己的数据。
IT设备包括服务器、存储设备、备份一体机、空调、UPS供电设备等,设备的运行状态描述了服务器的内存、CPU已用容量等,存储设备和备份一体机的存储使用量,空调、UPS供电设备的运行状态。在线主机主要描述的虚拟主机的CPU、内存、磁盘使用情况,是否在线等状态。IT设备运行状态和在线主机的数据来自调用接口抽取的后台对应功能的数据,随查询随调取。
本软件设计了自身的SQLite数据库,主要保存在线运维和常规巡检记录。在线运维主要是根据接收的警报消息内容,记录处理过程,也可以现场实物拍照,图片与文字结合描述,保存到本地库并上传给后台形成故障维修记录,以供日后查阅统计。常规巡检主要是记录巡检的设备对象、图文内容、参与人员、时间等保存到本地库并上传给后台形成常规巡检记录,如机房温湿度、空调保养维护、IT设备的内存、CPU、磁盘使用情况等当前运行状态。
消息提醒分三种,第一是主机资源使用情况的越阀警报,第二是网络故障警报,第三是定期常规巡检的内容周期性的提醒,类似手机日历的活动提醒功能,都是后台消息推送的。
网络工具使用了PING技术和Telnet探测技术,方便现场网络故障排查。
漏警是指消息推送后,24小时内后台没有收到运维人员的手持终端上传的处理记录,视为漏警。漏警通报的数据来源于后台统计。
在运维人员资源分配时,首先接口调用后台数据库中当前的IT设备内存和存储使用率,根据资源使用率最小优先使用的原则,推荐出虚拟主机优先运行的物理主机及虚拟主机的操作系统和数据磁盘挂载的存储位置,并检索目前的IP资源占用情况,自动及时推送出当前虚拟主机即将使用的局域网IP地址和互联网IP地址。运维人员确认后调用接口更改后台的资源分配状态。
设计了一个线程Thread定时利用IP扫描技术和Telnet探测技术诊断云计算数据中心IT设备及各主机的网络及服务端口畅通情况。一旦检测到故障,立即触发消息推送模块,将消息及时推送到手持终端。
定时巡检监控设备时,使用了类似内存缓存Cache技术,将所有监控设备对象的IP、端口信息缓存在Cache中,而不是直接从数据库中获取,这种方式主要优点是获取设备对象速度快,又减少数据库压力。Cache的元素是新监控设备Device对象保存数据库时装入。
资源监控服务端,设计了一个线程Thread监听约定的服务器端口,7X24小时监听资源监控客户端传送的心跳包。接收到心跳包,建立一个子线程,解析自定义协议内容,根据系统预先设置的主机内存、CPU、磁盘等资源使用率的警报阀门,进行比对。资源使用率一旦超过预先设置值,立即触发消息推送模块,将消息及时推送给运维人员和领导。客户端定时获取主机的内存、CPU、磁盘容量及可用空间等信息封装成自定义协议,建立TCP Socket套接字传送给资源监控服务端。
资源管理和用户服务功能是对云计算数据中心管理平台的补充及无缝对接,以便网上办公。资源管理设计了一个基本工作流程,用户资源申请或资源变更→用户所在部门的领导审批→数据中心部门领导审批→(或更高领导审批→)运维人员资源分配,箭头走向是在审批通过的情况下进行,否则终止。资源管理的资源分配时使用了资源使用率最小优先使用的原则,这一原则与VMware中的DRS负载均衡原理相符合,所以资源管理中的虚拟主机的记录信息与实际分布运行情况基本一致。
运维管理中常规巡检和故障维修记录的数据来源于手持终端的上报,后台接收到运维人员上传的记录,立即消息推送通知更改领导的手持终端中对应记录状态,形成闭环管理。
警报阀门设置了主机的CPU、内存、存储的使用情况警报,超过80%的黄色警报、超过90%的红色警报。巡检周期设置IT设备、空调和UPS供电设备的周期性巡检及维护保养的内容,以供预期消息推送给运维人员和领导。
漏警通报,设计了一个线程,每天定时执行一次,比对消息推送内容与上报的记录是否对应,如果比对出消息推送后12小时没有得到对应的上报记录,则产生一条漏警通报记录。
云计算数据中心常发生的警报由CPU、内存、磁盘等资源使用情况警报,网络故障警报、服务堵塞警报等,系统检测到警报发生,消息推送给对应的运维人员和领导的手持终端,运维人员和领导几乎同时接收到消息通知,消息通知的形式类似QQ或微信,声音+内容,在手机通知栏呈现。
后台的资源监控服务端获得的CPU、内存和磁盘资源使用情况来自客户端提取主机的资源数据的定时上报,与警报阀门比对,一旦高于阀门,发出黄色或红色警报,则消息推送给运维人员和领导。
网络故障警报、服务堵塞警报是由后台的网络监控模块周期性探测设备的网络畅通情况产生,一旦探测网络故障,发出警报,消息推送给手持终端。
云计算数据中心常规巡检的IT设备具有周期性特点,本系统将常规巡检的设备对象及维护保养的内容进行周期设置。后台设计了一个线程,每晚凌晨检测是否具有一天间隔时间的常规巡检内容,一旦检测到,则在当天上午8点将消息推送给对应运维人员的手持终端。
后台监控管理平台部署在云计算数据中心的虚拟主机的Tomcat上,资源监控客户端是直接放在被监控的设备对象的文件夹中,配置后台所在的虚机的IP地址后,双击运行即可。移动运维手机终端安装在Android操作系统的手机上。
搭建一个测试环境。三台测试虚机A、B、C,一部安装手持终端软件的Android手机D(运维人员)、Android手机E(领导),并双击运行软件,启动部署后台的Tomcat。分别在虚机A、B、C及Android手机D、E的浏览器上访问后台,测试是否能正常访问。在后台的设置主机资源使用情况警报,如CPU、内存和磁盘使用情况超过80%的黄色警报、超过90%的红色警报等。
利用某些工具将虚拟主机A的CPU使用率、虚拟主机B的内存使用率、虚拟主机C的磁盘使用率分别超过黄色警报80%,在第一时间内查看Android手机D、E是否接收到消息通知,如果收到消息通知则说明警报成功传送,运维人员根据警报内容查看,实物拍照及记录上传,登录后台监控管理平台,在故障维修记录中是否能查看到,并查看Android手机E的在线运维相关记录是否是已完成状态。
提出了一种移动运维云计算数据中心的系统设计与实现。系统以如何给运维人员带来工作方便为设计主线,本系统设计了三条消息推送线路,实现了原定的方便、实用、安全、可靠的设计目标。云计算数据中心移动运维,不拘于时间和地点的限制,运维人员携带一款普通Android手机,可以随时随地进行常规巡检及故障诊断维修工作,领导也可以随时获得云计算数据中心运行现状及运维人员工作进度。
[1]黄志涛.基于云计算平台的运维管理探究[J].数字技术与应用,2016(06):89-89.
[2]牛晓玲.云计算运维管理系统的框架研究[J].电信网技术,2015(02):5-8.
[3]李瑞,军吕,江智霆.现代数据中心运维管理系统规划与设计[J].科技创新导报,2015,12(09):10-10.
[4]焦红炜.云计算数据中心运维管控研究[J].信息技术与标准化,2015(12).
作者单位 泰山医学院现代教育技术中心 山东省泰安市271016