铁路信息化经过数十年发展,取得了显著成绩,铁路信息系统在运输组织、安全生产、客货服务、经营管理、建设管理等领域发挥着重要的支撑作用,已成为铁路各单位、各部门不可或缺的重要手段[1]。近年来,随着铁路主数据中心的投入使用、铁路云计算平台的应用以及“互联网+”行动计划的推进,铁路信息技术(IT,Information Technology)环境日趋复杂,由中国铁路信息科技集团有限公司(简称:国铁集团信息中心)承担运维服务的信息系统资源数量正在成倍增长。面对日趋复杂繁重的信息系统运维任务,如何改善和优化运维手段,提升运维工作效率,改善运维质量,提供更加高效快捷的应急服务能力成为国铁集团信息中心的当务之急。
信息系统运维是信息系统运营维护人员根据业务需求来规划信息、网络、服务,通过网络监控、事件预警、业务调度、排障升级等手段,使信息系统处于长期稳定可用的状态。目前,铁路信息系统运维工作已使用多种工具来实现大规模、批量式运维自动化,大幅消减了人力成本,有助于降低操作风险,提高运维效率。然而,这些自动化运维工具仍在以分散、孤立的方式来部署,即便使用多种自动化技术组合产品,应急处理以人工为主,导致信息系统运维部门疲于奔波、分身乏术。这种自动化运维方式的本质依然是人与自动化工具相结合的运维模式,受限于人类自身的生理极限及认知局限,无法持续地面向大规模、复杂的系统提供高质量运维服务。鉴于铁路各项业务对信息系统的高度依赖,为保证铁路关键业务系统不间断运行和铁路正常运营,实现铁路信息系统智能运维是必由之路。
智能运维(AIOps,Artificial Intelligence for IT Operations)是指通过机器学习等人工智能算法,自动地从海量运维数据中学习并总结规则,并做出决策的运维方式。将人工智能技术融入运维系统中,以大数据和机器学习为基础,从多数据源中采集海量运维数据(主要包括配置数据、监测数据、日志数据和事件数据等)进行实时或离线分析,通过高效率数据处理和智能分析,自动检测信息系统异常状态,主动发现隐患和缺陷,提供集成化、可视化运维管理工具,显著增强信息系统运维能力。
海量运维数据的采集、存储和处理是实现智能运维的基础。为此,本文立足于当前铁路信息技术环境演化和运维现状,通过对铁路信息系统资源进行系统分类,全面分析各类监控对象运维数据采集需求,提出铁路信息系统智能运维监测数据采集方案,为铁路IT智能运维管理系统[2]的开发奠定基础。
近年来,随着铁路主数据中心的投入使用以及铁路云计算平台的应用,铁路信息化步入云计算时代。从企业数字化转型和信息技术环境的演变过程来看,云计算、移动互联应用的快速发展,导致铁路企业传统内外网边界模糊化。尽管云计算和 移动互联应用可以为铁路信息化技术创新提供强劲驱动力,同时也带来了额外的挑战、复杂度和风险。
传统的信息系统运维工作范围主要包括:服务器管理(操作系统层面,比如重启、下线)、软件包管理、代码上下线、日志管理和分析、监控(区分系统、业务)和告警、流量管理(分发、转移、降级、限流等),以及一些日常的优化、故障排查等。典型的企业云环境通常包含私有云、云下物理机、云下虚拟化等多种平台、不同供应商产品的组合,云上云下、内外网、跨平台的系统交互和集成都加剧了铁路IT环境的复杂度和关联度。由于引入各种容器、开源框架,信息系统运维工作进一步扩展到容量管理、弹性扩缩容、安全管理、故障分析和定位等范围。
如果企业信息系统架构设计不够健壮,系统中任何一个小故障都可能导致企业信息系统整体性能下降、宕机,甚至致使业务中断。因此,实施高效的信息系统运维管理已成为国铁集团信息中心预防宕机和业务中断的关键所在,这主要涉及到3个方面的任务:
(1)优化企业信息系统和业务流程,为业务发展提供更多的创新支持和扩展能力;
(2)提升企业信息系统运维水平和能力,加快处理业务中断和系统故障的应急能力,降低事故造成的经济损失;
(3)降低企业信息系统运维的开销,实现信息系统运维的标准化、自动化、高效化。
为此,亟需研究和开发一套铁路IT智能运维管理系统,能够全面支撑运维单位高效地实施基于人工智能(AI,Artificial Intelligence)的信息系统运维自动化技术,通过细粒度运维数据的采集和智能分析,模拟运维工程师的故障处理操作,实现故障自动识别和用例自动化执行,甚至能够评估已部署的自动化用例并做出改进。除了自动完成大量人工运维操作外,AI运维工程师还能自动识别故障、优化系统设置,消除系统缺陷,避免系统隐患,高效处理故障,极大地降低系统风险。
铁路IT智能运维管理系统需要实现各类铁路信息系统资源的统一管理、实时监测、主动预警和自动化故障处置。当前铁路IT资源种类繁多,根据铁路IT智能运维监控对象的特性,将铁路IT资源划分为场地基础、物理设备、系统软件、云资源4大类别。
(1)场地基础类监控对象主要包括机房环境中的空气调节、消防、给排水、消防及电力设施。
(2)硬件类监控对象主要包括计算和存储设备、网络和安全设备,其中计算和存储设备主要有服务器、小型机、存储,网络和安全设备主要有交换机、路由器、防火墙、VPN设备、堡垒机等。
(3)系统软件类监控对象主要包括各类中间件、应用负载均衡、操作系统和数据库等。
(4)云资源类监控对象主要包括VMware云平台、铁路云平台、虚拟机等。
为了适应当前铁路信息系统虚拟化、云化的发展趋势,研究开发一套铁路IT智能运维管理系统,为铁路信息系统智能运维工作提供统一的集成化管理工具。该系统采用B/S架构,运维人员可以在客户端对系统功能进行访问[3],支持在x86服务器上运行,能够在虚拟化和云化环境中部署,各功能模块支持水平扩展以及集群化的部署方式,确保该系统的高性能和高可靠性。
铁路IT智能运维管理系统总体架构划分为3个层次,分别为数据采集层、数据服务层和业务应用层,如图1所示。
图 1 铁路IT智能运维管理系统总体架构示意
(1)数据采集层:包括代理和运维数据采集控制平台,主要负责从各类监控对象采集原始运维数据;代理可以驻留在监控对象一侧,也可以部署在运维数据采集控制平台一侧;部署在监控对象一侧的代理除了从监控对象中抽取配置信息、监控数据外,还具备运行自动化脚本命令的功能;部署在运维数据采集控制平台一侧的代理可以实现运维人员远程监控,支持在远端进行脚本的运行,并能提供对来自不同局域网数据汇聚能力,集中管理多个网络;另外,代理按照统一口径进行统计分析,从收集各类监控对象的运行状态数据(即原始运维监控数据),生成运维监控指标数据,与原始运维监控数据一起上传给采集控制平台;采集控制平台负责接收代理上传的运维数据,并对代理进行调度管理。
(2)数据服务层:完成运维数据的存储、处理、分析,包括从监控对象采集得到的原始运维数据,以及经分析处理后的运维监控指标数据。为保证较高的数据存储和处理性能,除采用传统数据库外,还采用文档型数据库MongoDB[4]和ElasticSearch[5]非关系型数据库;MongoDB用于存储配置数据、事件数据和工单数据等具有灵活数据结构的数据,ElasticSearch用于存储监控指标、日志和运维知识等体量大、需高效检索的数据;对系统中访问频率较高的运维数据,采用Redis数据缓存[6]提升数据访问响应的及时性。运维数据的处理与分析主要通过Spark[7]实现,基于历史运维数据,采用智能算法实现各种监控对象运行状态的趋势预测。
(3)业务应用层:完成运维指标数据的关联分析和智能分析,提供运维数据可视化展示和运维统计报表,支持灵活的告警分类及分派策略,将不同级别、类别的告警分配给最合适的运维人员,通过排班和自动化升级机制,组织起高效的阶梯式团队[8](包括运维管理人员及一线、二线、三线运维人员),为异常检测、故障分析、运维辅助决策等运维业务提供强有力支持,建立起7×24 h应急响应机制。
信息系统资源监控对象类型和数量众多,每一类监控对象的运维数据主要包括4类:配置数据、监控数据、日志数据和事件数据[9]。其中,配置数据描述资源对象的配置属性,包含资源对象本身的属性以及资源对象间关联关系,这类数据仅在监控对象的属性或对象间关联关系发生变更时才有变化;监控数据主要是各类监控对象运行过程中产生时序指标数据,主要表征系统和业务的运行状态及性能,随着时间积累快速增长;日志数据一般是文本类型数据,通常包括监控对象的运行日志和业务应用的运行日志,可通过关键字或正则匹配从中发现关键信息;事件数据是运维过程中发生的特定事件的相关信息,如报警、异常、上线变更、任务调度等。
场地监控类监控对象通常包括电力设施、消防设施、空调、给排水设备等,代理通过SNMP协议连接数据中心基础设施管理(DCIM,Data Center Infrastructure Management)[10]系统,从DCIM系统提供的接口获取运维数据,对应的运维数据采集内容如表1所示。
表 1 场地基础类运维数据采集内容和采集方式
类别 | 监控对象 | 数据类型 | 数据内容 |
场地 | 空气调节 | 配置数据 | 温度告警阈值 |
监控数据 | 制冷消耗功率、能耗比、循环风量电源 | ||
事件数据 | 过滤网脏堵、电磁阀无法打开、膨胀阀故障、 | ||
消防 | 配置数据 | 烟雾浓度告警阈值 | |
监控数据 | 烟雾浓度 | ||
事件数据 | 火情告警 | ||
给排水 | 配置数据 | 压力告警阈值 | |
监控数据 | 供水泵运行状态 | ||
事件数据 | 漏水告警、管道堵塞告警 | ||
电力设施 | 配置数据 | UPS配置数据、市电动力配电系统配置数据 | |
监控数据 | UPS运行状态、电池状态、市电动力配电系统 | ||
事件数据 | 供电系统断电告警 |
物理设备类监控对象划分为网络设备、计算与存储设备;其中,网络设备主要包括交换机、路由器、防火墙、VPN、堡垒机,计算与存储设备主要包括服务器、小型机和存储设备,对应的运维数据采集内容如表2所示。
表 2 物理设备类运维数据采集内容
类别 | 监控对象 | 数据类型 | 数据内容 |
网络 | 交换机 | 配置数据 | 管理地址、远程登陆方式及密码、VLAN配置信息、路由配置信息 |
监控数据 | 电源运行状态、风扇运行状态、设备板卡运行状态、CPU利用率、内存使用率、端口流量 | ||
日志数据 | 用户日志、诊断日志、运维日志、安全日志 | ||
事件数据 | 电源故障、端口故障、模块故障、背板故障、线缆故障、系统错误 | ||
网络 | 路由器 | 配置数据 | 管理地址、远程登陆方式及密码、VLAN配置信息、路由配置信息 |
监控数据 | 电源运行状态、风扇运行状态、设备板卡运行状态、CPU利用率、内存使用率、端口流量 | ||
日志数据 | 用户日志、诊断日志、运维日志、安全日志 | ||
事件数据 | 电源故障、端口故障、模块故障、背板故障、线缆故障、系统错误 | ||
网络 | 防火墙 | 配置数据 | 接口IP地址信息、DNS配置信息、VPN配置信息、安全策略、NAT策略、服务器映射、带宽管理 |
监控数据 | ping状态、CPU使用率、内存利用率、会话状态、接口状态、流量统计分析、攻击数据包状态 | ||
日志数据 | 用户日志、诊断日志、运维日志、安全日志 | ||
事件数据 | Web攻击事件、ACL攻击事件、流量监控告警、异常流量监控告警、攻击监控告警、带宽超阈值告警、QPS超阈值告警 | ||
网络 | VPN | 配置数据 | 远程访问策略、拨入时间、IP地址范围、多链路状态、身份验证方式、加密方式 |
监控数据 | VPN会话计数、隧道计数、收发数据包数、VPN隧道输入数据包数、隧道输出数据包、数据包平均延迟、SSL会话状态、IPsec VPN 会话状态 | ||
日志数据 | 安全日志、流量日志、系统事件日志、审计日志 | ||
事件数据 | 端口异常、VPN通道建立失败、VPN用户名密码验证失败、加密集不匹配 | ||
网络 | 堡垒机 | 配置数据 | 安全组配置信息、白名单配置信息、端口号、出口IP地址及相关配置信息 |
监控数据 | CPU利用率、内存使用率、电源运行状态 | ||
日志数据 | 系统登录日志、系统操作日志 | ||
事件数据 | 内存使用率异常告警、CPU占用率异常告警、电源告警 | ||
计算 | 服务器 | 配置数据 | CPU配置信息、内存配置信息、Raid配置信息、硬盘配置信息、HBA卡配置信息 |
监控数据 | CPU 状态、风扇状态、硬盘状态、内存状态、电源状态、CPU 温度 | ||
日志数据 | 安全日志、网络日志、主机日志 | ||
事件数据 | 内存使用率异常告警、CPU占用率异常告警、电源告警 | ||
计算 | 小型机 | 配置数据 | CPU配置信息、内存配置信息、Raid配置信息、硬盘配置信息、HBA卡配置信息 |
监控数据 | CPU 状态、风扇状态、硬盘状态、内存状态、电源状态、CPU 温度 | ||
日志数据 | 安全日志、网络日志、主机日志 | ||
事件数据 | 内存使用率异常告警、CPU占用率异常告警、电源告警 | ||
存储 | 存储 | 配置数据 | 缓存容量、磁盘数、前端后端带宽、控制器数量 |
监控数据 | 空间总大小、已用空间大小、未用空间大小、逻辑空间大小、硬件告警状态 | ||
日志数据 | 存储日志数据 | ||
事件数据 | 存储空间不足告警、电源告警 |
系统软件类监控对象主要包括中间件、应用负载均衡、操作系统和数据库,对应的数据采集内容如表3所示。
表 3 系统软件运维数据采集内容
监控对象 | 数据类型 | 数据内容 |
Tomcat | 配置数据 | 目录结构、配置文件、虚拟目录、连接数、内存大小、安全配置 |
监控数据 | 每秒接收/发送字节数、每秒错误数、每秒请求数、分配的线程数、最大线程数、会话状态 | |
日志数据 | 访问日志、错误日志 | |
事件数据 | 启动错误、运行错误 | |
Nginx | 配置数据 | 全局块配置信息、events块配置信息、http块配置信息、server块配置信息、location块配置信息 |
监控数据 | 连接数、等待连接数、活跃连接数、服务请求数、服务处理数 | |
日志数据 | 访问日志、错误日志 | |
事件数据 | 启动错误、运行错误 | |
Weblogic | 配置数据 | 域配置信息、服务器配置信息、集群配置信息、应用配置信息 |
监控数据 | 当前JMS服务的连接数、JVM堆中内存数、队列中当前空闲线程数、JDBC池的最大能力 | |
日志数据 | server日志、access日志、domain日志 | |
事件数据 | 内存泄漏、网络输入/输出流量过高 | |
应用负载 | 配置数据 | Tuning配置、802.1q配置、IP配置、路由配置、Farm配置、Severs配置、Client NAT配置、TCP/IP策略配置 |
监控数据 | 客户端到负载均衡的活跃连接数、客户端到负载均衡的并发连接数;客户端到负载均衡的新建连接数、客户端到负载均衡的 | |
日志数据 | 操作中心日志、访问中心日志 | |
事件数据 | 高负载异常告警、电源告警 | |
操作系统 | 配置数据 | CPU信息、内存大小、系统版本信息、网卡信息、主板信息 |
监控数据 | 系统可用状态、磁盘空间使用率、内存使用率、CPU 使用率、进程数量、文件读写状态、登录用户信息 | |
日志数据 | 认证日志、系统控制台日志、系统执行认证日志、守护进程日志、内核消息日志、邮件日志、用户进程日志 | |
事件数据 | 系统调用中断、输入输出错误、资源不可用、无效参数 | |
Oracle | 配置数据 | 内存配置、CPU配置、磁盘空间划分 |
监控数据 | 运行时间、每秒收发字节、进程数量、会话数、审计、当前连接用户、锁状态、共享池状态、PGA状态、SGA状态、逻辑I / O状态 | |
日志数据 | 警告日志、trace日志、audit日志、redo日志、归档日志 | |
事件数据 | 表空间无法传输、表空间不足、启动报错、连接报错、启动时内存太小 | |
MySQL | 配置数据 | 客户端配置信息、端口配置信息、服务端配置信息、错误信息配置文件 |
监控数据 | 运行时间、每秒收发字节、进程数量、会话数、审计、当前连接用户、锁状态、共享池状态、PGA状态、SGA状态、逻辑I / O状态 | |
日志数据 | 重写日志、回滚日志、二进制日志、错误日志、慢查询日志、一般查询日志 | |
事件数据 | 连接数过多、主从复制报错、server-id冲突、安装过程中的报错、连接超时 |
监控代理通过SNMP、HTTP、TCP等协议对Weblogic、HTTP服务、IBM MQ等中间件进行数据采集,使用TCP协议对操作系统和负载均衡运行数据进行采集,使用JDBC协议对数据库数据进行采集,监控代理使用TCP协议将数据上传至监控代理接收组件。
云资源监控对象主要包括VMware云平台、铁路云平台、虚拟机,对应的运维数据采集内容如表4所示。
表 4 云资源运维数据采集内容
监控对象 | 数据类型 | 监控项 |
VMvare | 配置数据 | CPU信息、内存大小、系统版本信息、网卡信息 |
监控数据 | 磁盘可用资源、内存使用率、CPU使用率、吞吐量 | |
日志数据 | Events日志、Tasks日志、logs日志 | |
事件数据 | 内存使用率不足告警、CPU使用率不足告警 | |
铁路 | 配置数据 | Master节点配置信息、智能运维节点配置信息、 |
监控数据 | 磁盘可用资源、内存使用率、CPU使用率、吞吐量 | |
日志数据 | Events日志、Tasks日志、Logs日志 | |
事件数据 | 内存使用率不足告警、CPU使用率不足告警 | |
虚拟机 | 配置数据 | CPU信息、内存信息、磁盘信息、版本信息 |
监控数据 | 进程状态、内存使用率、线程参数 | |
日志数据 | Trace日志、Debug日志、Info日志、Warning日志、 | |
事件数据 | 逻辑单元 I/O 告警、链路及通信监控告警 |
铁路IT智能运维管理系统旨在实现铁路各类信息系统资源的统一管理、实时监测、主动预警和自动化故障处置,开展全域、细粒度运维数据的采集是铁路IT智能运维管理系统研发中最为基础性的工作;按照4类运维数据(即配置数据、监控数据、日志数据和事件数据)划分,全面、细致地分析铁路信息系统资源各类监控对象的数据采集内容及采集方式。
下一步,将结合各类监控对象运维数据的采集任务,开展相应的运维大数据分析和智能算法研究,实现故障自动定位、故障自愈、智能阈值配置等功能,以提高运维工作的整体效率,提升铁路信息系统运维水平。
页面更新:2024-04-28
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号