李晨悦,卢荣平,赵秀琴,郭 朋,普波涛
(中国铁路西安局集团有限公司 信息技术所,西安 710000)
随着铁路运输信息化水平的快速提升,一些重要的信息系统的规模不断扩大,系统架构日益复杂,所产生的数据呈海量增长,对业务连续性要求和运行维护(简称:运维)质量的要求不断提高。与此同时,系统运维变得越来越复杂,管理难度越来越大[1],这使运维工作的难度加大,也对运维工程师提出了更高的技术要求[2]。目前,中国铁路西安局集团有限公司(简称:西安局集团公司)的信息系统运维工程师在运维检修作业过程中,由于缺少统一的技术标准和作业规范,信息系统软件运维检修质量参差不齐的问题逐步凸显[3]。
本文以西安局集团公司信息系统运维管理的短板为切入点,结合中国国家铁路集团有限公司下发的《系统平台安全配置基线规范》[4]和《铁路信息系统运行维护计划管理规定》[5],围绕信息系统软件运维检修作业所涉及的软件系统、操作系统、中间件、数据库等4个方面,对运维检修作业项点、作业周期、作业标准、作业知识库和巡检报告机制进行了研究,对运维写实进行了规范,并建立系统应用软件检修知识库和专项巡检技术报告机制,从而达到统一、规范系统应用软件运维检修作业标准的目的,从根本上抓实、抓牢、抓好日常运维检修工作,真正实现应用软件从“故障修”向“计划修”的转变。
根据文献[5]中关于应用软件、中间件、操作系统和数据库的运维检修要求,重新梳理并确定应用软件运维检修作业项点、作业周期和作业内容,制定信息系统软件运维检修作业技术规范,明确检修项点和周期,定义作业规范,建立检修知识库,并给出检修报告标准。将信息系统软件运维检修作业项点修订为应用软件、中间件、操作系统、数据安全等4个方面共计13个作业项点。
1.1.1 检修项点及周期
(1)信息系统软件检修项点及周期
信息系统软件的健康检查维护周期不超过3天;安全加固维护周期不超过1月;主备系统一致性、可用性检查维护周期不超过1月;技术文档整理与更新维护周期不超过1月。
(2)中间件检修项点及周期
中间件的健康检查维护周期不超过1周;性能调优与安全加固维护周期不超过1月;日志备份清理维护周期不超过1月。
(3)操作系统检修项点及周期
操作系统的健康检查维护周期不超过1周;性能调优与安全加固维护周期不超过1月;日志备份清理维护周期不超过1月。
(4)数据库软件及数据安全检修项点及周期
数据库软件的表空间检查与数据备份清理维护周期不超过1月;附件等非结构化数据备份维护周期不超过1月;健康分析与口令加固维护周期不超过1个季度。
1.1.2 作业项点
本文围绕信息系统软件、中间件、操作系统、数据安全等4个方面,共制定了13个作业项点,明确了作业内容和运维计划写实规范。13个作业项点,如表1所示。
表1 13个作业项点
在日常项目运维中,由于运维工程师的业务水平参次不齐,使最终的巡检效果不尽相同。为了全面提升局运维管理水平,本文对运维检修作业方法和步骤进行了细化。参照文献[4],并依据信息系统软件运维检修作业项点,建立信息系统软件运维检修作业知识库(简称:知识库),从而达到规范和统一应用软件运维检修作业标准的目的。知识库的体系如图1所示。
图1 知识库体系
知识库主要包含中间件平台软件(WebLogic、Tomcat)、服务器、数据库等软件和设备的健康检查、性能监控与调优、日志清理、资源占用情况、数据备份、表空间、数据表、索引等对象的空间占用情况,以及数据库空间碎片回收、主备服务器之间高效同步应用软件程序包和附件等非结构化数据的检查方法和执行脚本,包括14个大类、34个作业项点的指导说明,以及11个可执行脚本和操作系统资源监控程序。
1.2.1 中间件巡检知识库
中间件巡检知识库针对WebLogic、Tomcat 等中间件平台软件的日常维护、监控和巡检工作的技术指导,可以有效地提高运维工程师对中间件事件的分析和解决能力,确保中间件持续稳定运行。
中间件巡检知识库描述了如何对WebLogic的性能调优,以及如何使用Probe对Tomcat进行监控和健康检查。具体内容如下。
在对WebLogic进行性能调优的过程中,运维工程师要注意备份“config.xml”“startManaged WebLogic.cmd”等文件(Unix 和Linux 操作系统),以及“startManagedWebLogic.sh”文件(Windows操作系统)。
Lambda Probe(曾用名为Tomcat Probe)是一款实时监控和管理Apache Tomcat 实例的基本工具,几乎拥有Tomcat Manager 的所有功能,使应用程序、数据源、发布、日志、线程、集群、系统信息、状态、连接器状态等Tomcat 功能对开发者和管理者更加透明。
在如图2所示的LambdaProbe应用程序卡片中,可以从不同角度查看项目的健康情况。例如,对于服务器的健康状况,LambdaProbe可以从“应用程序”“数据源”“发布”“日志”“线程”“集群”“系统信息”“连接器”“证书”“快速检查”等选项进行查看。运维工程师在“日志”选项中可以查看具体的日志信息;在“线程”选项中可以监控所有线程的状态;在“系统信息”选项中可以查看概况、内存使用、操作系统等信息;在“连接器”选项中可以监控并统计Tomcat 连接情况;在“快速检查”选项中可快速查看数据源、内存等。
图2 LambdaProbe应用程序卡片
Tomcat 内存优化是对 Java 虚拟机(JVM,Java Virtual Machine)进行调优。运维工程师在修改文件之前,需要先备份文件(Linux 操作系统的文件路径为CATALINAHOME/bin/catalina.sh,Windows操 作系统的文件路径为CATALINAHOME/bin/catalina.sh,Windows操作系统文件路径为CATALINA_HOME/bin/catalina.bat);修改后,需要重启设备,以使文件生效。以Windows操作 系统为例,当修改“TOMCAT_HOME/bin/catalina.bat”时,可以在其前面加入“set JAVA_OPTS=-XX:PermSize=64M-XX:MaxPermSize=128M-Xms512M-Xmx1024M”,其中,Xms表示JVM 初始化的最小内存;Xmx 表示JVM可使用的最大内存;XX:PermSize表示内存的永久保留区域;XX:MaxPermSize 表示内存的最大永久保留区域。
1.2.2 服务器巡检知识库
Windows、Linux 和Unix 操作系统是Web服务器比较常用的操作系统,其中,Linux 操作系统的安全性能最高,对运维工程师的要求也最高,因此该部分运维内容也纳入知识库的范畴。服务器巡检知识库涵盖如何检查服务器的资源占用情况(包括CPU、内存、分区空间、分区节点),如 何 在Linux主、备服务器间高效同步应用软件程序包和附件等非结构化数据。
在实际应用中,有的应用项目部署在多台服务器。为了减轻运维工程师日常监控的工作量,搭载Linux 操作系统的主备服务器需要对应用软件程序包和附件等非结构化数据进行同步。因此,本文设计了Windows、Linux、AIX、HP-UNIX、Solaris等操作系统的自动化运行脚本,将采集的监控日志通过文件传输协议(FTP,File Transfer Protocol)上传至专用的日志文件服务器。运维工程师只需要查看相应服务器的监控日志文件,即可判断服务器的运行状况,进而做出处置方案[6-8]。集中监控方案如图3所示。
图3 集中监控方案
1.2.3 数据库巡检知识库
作为信息系统的运维工程师,需要在日常运维工作中定期进行数据备份,监测与分析数据大表、大对象、数据库空间碎片回收等工作。本文在数据库巡检知识库中对这些工作进行归纳,对操作步骤中的重点和难点进行详细描述。比如,在对数据大表、大对象的监测与分析中,建立了检查数据库用户数据表、索引等对象的空间占用情况的运行脚本。
例如,将数据库用户下的数据表根据其占用空间情况由大到小排序,取前15个表信息的运行脚本:“select*from(selectsegment_type,segment_name,bytes/1 024/1024mbfromuser_segmentswheresegment_type='TA BLE'orderby mbdesc)whererownum<16”。通过对脚本的打包运行,运维工程师可以快速掌握数据库当前的运行情况,及时处理数据库的报警和异常信息,以保障数据库的安全稳定运行。
为落实西安局集团公司信息系统春季和秋季检查等专项工作,严格对照信息系统软件运维检修作业项点,建立涵盖运维检修作业全要素的《信息系统软件专项巡检技术报告》,形成信息系统软件专项巡检技术报告机制[9]。
《信息系统软件专项巡检技术报告》给出了巡检的统一标准,包含信息系统软件、中间件、服务器、数据库等4个方面的检查和处理结果。
运维工程师可以使用编写好的可执行程序,随时检查系统状态、数据库使用情况等相关信息。
当运维工程师每次按照运维检修技术规范完成信息系统巡检时,按统一格式填写《信息系统软件专项巡检技术报告》,实现巡检规范化。
本文结合铁路企业信息系统运维管理现状,详细介绍了信息系统软件运维检修作业的技术规范、知识库、巡检技术报告这3项研究成果。目前,该研究成果已经正式在西安局集团公司推广应用,显著提升了信息系统的运维质量。