APP下载

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

2020-02-22李攀科

铁路计算机应用 2020年1期
关键词:日志运维分布式

柯 文,李攀科

(中国铁路武汉局集团有限公司 信息技术所,武汉 430071)

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

针对这种情况,部分铁路局集团公司构建了侧重于网络设备、小型机和应用监控的自动监控平台,实现了系统监控和故障报警。但平台功能单一,缺乏自动化[1-2]、智能化[3]运维手段,运维效率低,无法满足大规模机房集中运维管理的需要,无法适应在虚拟化、云计算、大数据等新技术应用下,运维模式由系统运维向平台运维[4-5]的转变,达不到主动监控、集中管理、自动化运维的一体化运维目标[6]。因此,鉴于信息系统在铁路运营中的重要地位,以及企业精细化管理的要求,本文设计并实现了一套符合铁路信息化运维管理要求、适应新技术发展趋势、提升管理效率、规范管理流程的信息化综合运维管理系统。

1 系统设计

1.1 系统目标

基于铁路局集团公司信息所运维管理办法,结合实际运维需求,分析信息化运维业务流程,主要包括:设备台账管理、系统日常维护、系统监控及故障处理、系统升级、资源优化等。构建信息化综合运维管理系统,需涵盖上述业务流程,实现以下目标。

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

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

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

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

(5)从多角度统计和分析系统资源的使用情况,有助于管理部门掌握全面信息,辅助系统管理员进行资源优化配置,提高信息资源整体利用率。

1.2 总体架构

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

1.3 技术架构

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

1.3.1 展现层

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

1.3.2 业务层

业务层包括逻辑层和组件层。

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

(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中。

图1 系统技术架构图

2 系统功能

本文基于系统目标,规划并设计了信息化综合运维管理系统的具体功能,如图2所示。

2.1 资产配置管理

系统通过该模块建立动态的资产配置库[7]以及合理的信息化资产和资源模型。该模块支持资源配置项的灵活添加和删除,满足多种统计分析需求,构建资产与资产间的关系管理机制,相关联资产自动扫描发现,实现多维度资产管理。

图2 系统功能示意图

2.2 设备运行监控

该模块用于建立集中的设备运行监控管理体系,实现运维人员对网络设备、主机、存储、操作系统、数据库、中间件、应用、虚拟化集群、云平台等的监控,实时获取关键指标数据并通过Dashboard监控仪表盘展现运行指标变化趋势,为运维人员提供故障分析依据。对于超过预定报警阈值的指标,系统通过声音提示和邮件等形式告知相关负责人,便于快速查看问题。

2.3 自动化运维

该模块用于进行自动化运维操作管理,能够实现自动化日常维护,包括日常巡检、数据备份、补丁升级、口令更改、日志清理等功能,减少运维人员的重复工作,同时支持用户自定义的运维操作,及操作编排设计[8]。自动化运维操作可设置为手动或定时自动执行,与设备运行监控模块进行联动,实现自动化故障处理。

2.4 流程审批管理

该模块用于进行日常运维工作的管理,与资产配置管理模块联动,形成规范化的资产、资源审批管理流程;与设备运行监控和自动化运维模块联动,形成规范化的日常运维管理流程,使得运维操作便于追溯。

2.5 智能决策分析

该模块用于实现运维智能决策。运维管理过程中产生的数据包括日志和实时监控数据等。系统运用大数据分析技术,实现日志分析[9]、监控分析、异常排查、容量规划等功能,用可视化方式展示数据计算结果,为运维人员及管理层提供辅助决策支持,并依据管理部门统计要求,生成相关报表。

3 关键技术

3.1 分布式监控技术

信息化综合运维管理系统采用分布式架构开发。系统的设备运行监控和自动化运维等功能模块通过组件的形式部署在多台服务器上。每个功能模块包含若干组件,组件以子服务(后台 deamon 进程)的方式运行,子服务间使用Message Queue 进行通信,实现异步程序调用,从而提高系统的总吞吐量。子服务可以根据需要进行扩展,启动更多的实例来处理更多的请求,在提高可用性的同时也提高了整个系统的伸缩性。与传统架构相比,分布式架构具有高可靠性、易于扩展和计算性能强等特点。

系统的分布式监控组件部署如图3所示,包括一个监控节点,多个代理节点以及多个服务器节点。在每个被监控的服务器节点上安装Agent组件,实现CPU、内存、IP、内核参数、核心服务进程等各项指标的自动采集和主动上报,不需要对监控节点做任何其他设置,方便用户维护。为了减缓监控节点的数据采集压力,系统设置了多台代理节点,负责数据的收集和转发。代理节点接收到采集数据后,将数据转发到报警判定组件Judge和数据存储查询组件Graph。代理节点除了接收Agent上报的数据外,还通过IPMI协议采集监控设备硬件管理接口数据,获取硬件状态及报警信息;通过SNMP协议采集网络设备管理接口数据,获取交换机及路由器的带宽及流量指标;通过SSH协议采集中间件相关指标;通过API采集虚拟化集群资源的使用情况。采集到的监控数据按用途分为2类:(1)用于展示的数据存放到PostgreSQL数据库;(2)用于做大数据分析的数据存入HBase分布式数据库。

基于分布式监控技术实现的云平台监控界面如图4所示,实时显示当前CPU、内存和存储资源分配情况,以及云服务组件运行情况。

图3 分布式监控组件部署图

3.2 大数据技术

本文使用基于Hadoop的大数据平台实现运维大数据存储、计算和展示等功能。运维数据源来自运维管理过程数据,包括系统日志、报警日志、实时监控数据、运维数据和用户操作日志等。经过数据清洗、分类、聚合、预处理等数据处理方式,将数据存储落地并归档,根据日志、监控、报警等业务各自的特点,采用适当的算法模型,对海量数据进行快速计算处理,并用图表等直观方式呈现给用户。

系统采用Hadoop分布式架构,使用Flume分布式海量日志采集工具来采集数据,通过Kafka消息中间件进行数据传输。系统将Flume采集的原始日志和实时监控数据存放在分布式文件系统(HDFS)中。HDFS具有高容错性和高吞吐量等特点,解决了大数据存储的难题。Spark Streaming分布式准实时计算系统处理延时较低,数据吞吐量大,可满足准实时大数据量分析任务。系统通过Spark Streaming读取Kafka队列数据,进行数据计算分析,将日志分析结果写入ES(Elastic Search)分布式数据分析引擎,Spark定时读取ES中的最新日志进行分析,将监控数据分析计算结果存放在HBase分布式数据库,数据处理流程如图5所示。

以异常排查功能为例,系统实现了统一的异常排查入口,针对指标、日志、服务、机器进行故障排查,可根据搜索条件进行异常数量、机柜图、时序图的查询,帮助运维人员快速定位异常来源和关联关系,并实现快速跳转到KPI异常分析、日志异常分析、服务异常分析页面,有助于深入分析。异常排查分析概览界面如图6所示。

3.3 工作流引擎技术

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

4 结束语

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

图6 异常排查分析概览界面

图7 资源申请流程界面

猜你喜欢

日志运维分布式
一名老党员的工作日志
扶贫日志
运维技术研发决策中ITSS运维成熟度模型应用初探
风电运维困局
分布式光伏热钱汹涌
杂乱无章的光伏运维 百亿市场如何成长
游学日志
分布式光伏:爆发还是徘徊
基于ITIL的运维管理创新实践浅析
基于DDS的分布式三维协同仿真研究