信息化综合运维管理系统的设计与实现

(整期优先)网络出版时间:2020-10-22
/ 2

信息化综合运维管理系统的设计与实现

张庆华 张哲

西安长庆科技工程有限责任公司 陕西 西安 710018

摘要:近年来,信息化建设快速发展,信息系统已全面应用到工程设计行业生产、经营管理等领域,各部门的日常办公管理和业务管理越来越依托于信息系统的稳定运行。同时,信息系统数量迅速增加,设备种类和技术日益多样化,这对运维人员提出了更高的技术要求,使得运维工作难度加大。本文对信息化综合运维管理系统的设计与实现进行探讨。

关键词:信息化;综合运维管理;设计实现

1系统设计

1.1系统目标

(1)构建集资产配置管理、设备运行监控、自动化运维、流程审批管理和智能决策分析于一体的综合运维管理系统,为运维人员提供统一的工作平台。

(2)建立信息化资产、资源管理台账,与现有的固定资产管理系统进行互联互通,对设备状态进行跟踪,从而实现规范的资产入库、使用、维护、报废的全生命周期管理流程。

(3)将机房现有的软硬件系统纳入到统一的监控界面中,采集关键指标数据,收集日志信息,判断系统异常及设备故障,产生实时报警,方便运维人员及值班人员及时处理。

(4)统一管理自动化运维操作脚本,建立设备运行监控与自动化运维操作联动机制,实现故障自动恢复,降低设备故障处理延迟时间,提高运维效率和准确性,减少工作中的误操作。

(5)从多角度统计和分析系统资源的使用情况,

有助于管理部门掌握全面信息,辅助系统管理员进行资源优化配置,提高信息资源整体利用率。

1.2总体架构

系统采用B/S架构,用户界面通过浏览器展现,系统提供统一界面,方便用户操作。系统的安装、修改、维护全部在服务器端完成。服务器端采用分布式架构,多个节点共同提供设备运行监控、自动化运维、智能决策分析等服务,能有效避免单点故障。

1.3技术架构

信息化综合运维管理系统采用J2EE开发框架,基于Java语言开发,采用PostgreSQL数据库,该数据库支持无锁表修改,与传统关系型数据库相比,提供了更大的数据存储灵活性。系统在技术架构上划分为展现层、业务层、数据访问层和数据层。

1.3.1展现层

展现层是系统和用户的交互层,用于展示系统功能,接受用户数据录入、导出和查询等操作,对录入数据进行基本校验,用仪表盘、折线图和图表等方式进行数据展示,实现数据可视化。

1.3.2业务层

(1)逻辑层是系统架构设计的核心,负责数据的加工和处理,利用CMDB、MON、AMS、Workflow、DataMining等模块,实现资产配置管理、设备运行监控、自动化运维、流程审批管理、智能决策分析等业务流程。既要满足各模块功能需求,又要实现各模块间的联动。

(2)组件层为逻辑层的各项功能提供具体服务。本文使用开源组件,方便系统快速开发,主要组件包括:数据采集组件falcon-agent、报警判定组件falcon-judge、数据存储查询组件falcon-graph、工作流引擎组件activiti,消息中间件Kafka等。系统将组件部署到若干节点上,实现分布式系统。

1.3.3数据访问层

数据访问层包括数据访问接口(DAO),实现对关系型数据库PostgreSQL和分布式数据库HBase的访问,对分布式文件系统HDFS的流式访问,对被监控设备的SSH、IPMI、SNMP、HTTP等的协议访问,以及对外部信息系统的数据接口访问。

1.3.4数据层

数据层用于存储业务数据,将资产及监控信息存放在关系型数据库PostgreSQL,将监控和日志分析计算结果存放在分布式数据库HBase中,将采集的原始日志和实时监控数据存放在分布式文件系统HDFS中。

2关键技术

2.1分布式监控技术

信息化综合运维管理系统采用分布式架构开发。系统的设备运行监控和自动化运维等功能模块通过组件的形式部署在多台服务器上。每个功能模块包含若干组件,组件以子服务(后台deamon进程)的方式运行,子服务间使用MessageQueue进行通信,实现异步程序调用,从而提高系统的总吞吐量。子服务可以根据需要进行扩展,启动更多的实例来处理更多的请求,在提高可用性的同时也提高了整个系统的伸缩性。与传统架构相比,分布式架构具有高可靠性、易于扩展和计算性能强等特点。系统的分布式监控组件部署包括一个监控节点,多个代理节点以及多个服务器节点。在每个被监控的服务器节点上安装Agent组件,实现CPU、内存、IP、内核参数、核心服务进程等各项指标的自动采集和主动上报,不需要对监控节点做任何其他设置,方便用户维护。为了减缓监控节点的数据采集压力,系统设置了多台代理节点,负责数据的收集和转发。代理节点接收到采集数据后,将数据转发到报警判定组件Judge和数据存储查询组件Graph。代理节点除了接收Agent上报的数据外,还通过IPMI协议采集监控设备硬件管理接口数据,获取硬件状态及报警信息;通过SNMP协议采集网络设备管理接口数据,获取交换机及路由器的带宽及流量指标;通过SSH协议采集中间件相关指标;通过API采集虚拟化集群资源的使用情况。采集到的监控数据按用途分为2类:(1)用于展示的数据存放到PostgreSQL数据库;(2)用于做大数据分析的数据存入HBase分布式数据库。

2.2大数据技术

本文使用基于Hadoop的大数据平台实现运维大数据存储、计算和展示等功能。运维数据源来自运维管理过程数据,包括系统日志、报警日志、实时监控数据、运维数据和用户操作日志等。经过数据清洗、分类、聚合、预处理等数据处理方式,将数据存储落地并归档,根据日志、监控、报警等业务各自的特点,采用适当的算法模型,对海量数据进行快速计算处理,并用图表等直观方式呈现给用户。系统采用Hadoop分布式架构,使用Flume分布式海量日志采集工具来采集数据,通过Kafka消息中间件进行数据传输。系统将Flume采集的原始日志和实时监控数据存放在分布式文件系统(HDFS)中。HDFS具有高容错性和高吞吐量等特点,解决了大数据存储的难题。SparkStreaming分布式准实时计算系统处理延时较低,数据吞吐量大,可满足准实时大数据量分析任务。系统通过SparkStreaming读取Kafka队列数据,进行数据计算分析,将日志分析结果写入ES(ElasticSearch)分布式数据分析引擎,Spark定时读取ES中的最新日志进行分析,将监控数据分析计算结果存放在HBase分布式数据库。以异常排查功能为例,系统实现了统一的异常排查入口,针对指标、日志、服务、机器进行故障排查,可根据搜索条件进行异常数量、机柜图、时序图的查询,帮助运维人员快速定位异常来源和关联关系,并实现快速跳转到KPI异常分析、日志异常分析、服务异常分析页面,有助于深入分析。

2.3工作流引擎技术

系统采用activiti业务流程管理框架,实现自定义工作流、执行工作流、查看工作流等功能。工作流引擎(ProcessEngine)是activiti架构核心,负责生成流转运行时的各种实例和数据并监控和管理流程的运行,方便开发人员快速构建功能丰富、轻便、高效的业务流程管理程序。

结束语

信息化综合运维管理系统运用分布式、大数据、工作流引擎等多种技术、采用多种开源组件,构建了一套综合的、功能完备的、统一的运维管理系统。该系统已上线运行,系统运行稳定,数据量不断增长,提高了信息化运维工作效率,也为信息化管理工作提供了依据。今后,将继续在运维自动化和智能化方面努力实践和探索,不断优化和完善该系统。

参考文献

[1]徐鸣亮.基于告警监控和IT运维流程自动处理IT事件的方法[J].电子技术与软件工程,2018(8):126-126.

[2]陈昊.大数据时代自动化运维管理发展策略[J].电子技术与软件工程,2018(20):172-172.

[3]张雪坚,张榆,钏涛,等.基于大数据技术的IT运维数据管理系统构建方法[J].电子科技,2018,31(4):84-86.