智能化工具在医院信息系统运维中的运用*
2019-12-05潘愈嘉
潘愈嘉 黄 捷
(贵港市人民医院信息科 贵港 537100)
1 引言
1.1 智能化运维实施背景
目前贵港市人民医院年门诊量突破100万人次,是本地区唯一一家综合性三甲医院,贵港市医疗、急救和临床教学中心。部署各类电脑终端超过2 000台,网络设备100多台,服务器近百台,有10多台服务器组建的虚拟化平台,数据库近20个,信息系统覆盖医院所有部门。当前医院都在加快构建纵向贯通、横向集成、共享共用、安全可靠的信息化综合平台。随着信息资源的深度整合应用,信息化技术已渗透到医院管理与运营的方方面面,信息化环境良好、正常运行已被视为保障生产正常进行的首要条件。建立健全安全运维保障体系,实现对中心机房、灾备机房以及业务、软件、网络、设备等资源的全方位、立体化、智能化运维监控已被列为医院信息化工作的重要任务。
1.2 医院信息系统运维现状分析
医院通过对比研判后计划建设智能化运维监控保障平台。如业务、软件、网络、设备出现各种突发故障时,信息科运维人员必须快速找到并解决问题,否则业务会受到影响,甚至产生严重后果。由于存在太多潜在的随机因素会影响业务的可用性和性能,运维人员通常不得不以“问题驱动”的方式来开展工作,仅有的几个运维工具之间互不相通,消息无法主动推送,完全依赖人工定时巡检来发现隐患,在管理信息化的同时也被信息化所制约,很难确保整个信息化业务的服务等级或服务品质。造成这一问题的原因是对信息化实施监控管理的方式滞后。因此推行智能化的信息化运维保障平台势在必行,使信息科的工作从被动过渡到主动的监控管理。
2 智能化运维平台在医院中的应用
2.1 安全机制
2.1.1 概述 基于Linux平台开发,Linux服务器的安全性在验证、访问控制、记帐/日志、受控访问保护实体、加密支持等方面优于Windows操作系统。应用Node.js工具可快速方便地搭建响应速度快、易于扩展的网络应用,Node.js 使用事件驱动,非阻塞I/O模型实现轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。通过supervisor (Linux/Unix系统下的一个进程管理工具)提供client/server服务,它是 Linux/Unix 系统下的一个管理工具,可方便地监听、启动、停止、重启一个或多个进程。使用supervisor管理的进程,当一个进程意外被杀死,supervisor 监听到后会自动将其重启,实现进程自动恢复功能,无需写shell脚本来控制。
2.1.2 数据、访问和传输安全性 在数据安全性方面应遵循3个原则,即敏感信息尽量不用;如果要使用敏感信息,尽量通过只读方式获取,不对自身信息产生干扰;如果必须保存敏感信息(如数据库、操作系统密码等),则这些信息的录入、保存都采用非明文加密方式。在访问安全性方面,主要体现在产品对任何访问都要求进行认证授权。对于非认证授权用户、客户端或其他外界请求一律不予响应。如个别终端获取磁盘阵列信息需要安装代理,应对代理也做安全保护,如果其他第3方应用请求代理调用,则代理不予响应。在传输安全性方面,平台除路由类信息外其他相关信息一律进行加密传输。平台主要依赖于操作系统内置的软件组件,且对系统版本无要求。除客户通过配置手段开放操作系统、数据库的权限给平台外,平台不应自行获取任何信息。平台通过简单网络管理协议(Simple Network Management Protocol,SNMP)、Windows管理规范(Windows Management Instrumentation,WMI)、安全外壳协议(Secure Shell,SSH)、智能平台管理接口(Intelligent Platform Management Interface,IPMI)等多项技术实现监控功能。平台代理端程序支持绿色、无依赖、无需重启特征。
2.2 产品架构
2.2.1 拓扑结构(图1)
图1 网络拓扑
2.2.2 运行机制 数据通过 SNMP、WMI、SSH、IPMI、Syslog、SMI-S、Agent 等方式采集。监控平台通过多种方式不间断主动轮询抓取被监控终端和设备的监控指标信息。间隔时间为10分钟(部分指标项间隔时间较长)。监控方式为串行。平台根据设置的各项指标阈值分析判断运行情况并进行反馈。运行机制,见图2。
图2 运行机制
2.3 重要功能
2.3.1 概述 基于业务、设备两个最核心的监控视角建立智能运维平台体系,建设以业务系统监控为主线,集所有医院IT生态环境为一体的多层次智能化的立体监控平台。平台以故障事前预警、问题快速定位为核心,在严重故障发生之前能发现大部分问题。
2.3.2 业务监控 指以业务监控为主线,全面了解业务系统健康情况及快速定位业务故障。业务监控包括业务拓扑图、业务报警以及相关联服务器各项状态、运维笔记、关联文档、运维时间轴等的查看功能。业务拓扑图是业务及其相关联资源的一种展现方式,以图形化方式展现该业务的体系结构,包括业务、服务器(或虚拟机)、数据库、中间件、带外管理卡等多方面的关系图。从业务报警中可以清晰看到该业务本身及所关联的软件、设备的所有报警和提醒信息。有报警的显示红色,提醒的显示黄色。
2.3.3 业务层监控项 包括应用核心进程监控,应用进程是否存活,应用进程 CPU、内存占用情况监测;应用端口监控,指定端口是否有效;统一资源定位地址(Uniform Resource Locator,URL)监控,指定页面是否有效;浏览器/服务器(Browser/Server,B/S)应用可用性监控; B/S 应用模拟账户登录判断系统的可用性;文件传输协议(File Transfer Protocol,FTP)监控,监测目前 FTP 上传和下载流量;Ping指定服务器情况,是否能连接到指定传输控制协议(Transmission Control Protocol,TCP)端口,市面上的运维产品将监控焦点放在IP网络层,对于业务系统数据库、中间件、虚拟化软件的各项运行指标与其所支撑的业务系统相关联。对于数据库各指标的深度监控是目前急切需要的功能。
2.3.4 数据库 以Oracle为例,连通性监测,包括集群、表空间、数据库阻塞、死锁、作业、会话、辅助储存管理器(Auxiliary Storagae Manager,ASM)、文件(Redo Log、Control Log、Archive log)、无效对象监测,恢复管理器(Reeovery Manager,RMAN)监测,告警日志监测。
2.3.5 中间件 以信息服务器(Internet Information Server,IIS)为例,对指定的 IIS 服务基本信息以及应用程序池站点、虚拟目录、运行状态进行监控。
2.3.6 虚拟宿主机状态监控 虚拟宿主机网络情况;CPU、内存、硬盘使用率;当前虚拟机实例、连接设备状态;虚拟机状态监控;虚拟机开关状态、网络状态、虚拟机性能、相关操作系统、应用软件状态监控。
2.3.7 设备监控 包括网络设备、服务器、存储、机房动环等。
2.3.8 网络监控 从网络角度全面了解运行情况及快速定位网络异常。平台提供网络拓扑图(及子拓扑)自动生成、网络通断情况、流量分析、端口状态、位置、运维笔记、文档及网络设备配置信息自动备份等功能。网络监控以 IP 地址为出发点,提供网络设备以及端到端的网络流量分析。
2.3.9 其他设备监控 从设备角度全面掌握设备(物理设备)运行情况及快速定位设备故障。产品提供地图、3D 机房建模、机柜及各种报警展示。设备基本信息包括资产号、归属、类型、位置、状态、责任人、供应商、出保日期、文档信息设备监控清单;连通性监测,CPU 、内存、硬盘使用率、RAID、端口流量监控;通过带外管理口(IPMI)监控电源、风扇等设备硬件;设备故障报警(硬件级、操作系统级)。
2.4 核心功能实现
2.4.1 以业务系统监控为主线 将支撑业务系统的所有IT资源(含设备、网络、软件)进行统一关联监控,在业务监控视图中可任意切换业务系统,关注故障与性能情况,全面掌握所有业务系统健康情况。
2.4.2 主动监控 实现集中管理,部署集中监控系统,医院整个IT生态的全面监控,构建统一智能监控分析预警平台,主动、及时地分析数据,在事前发现问题,给出处置建议。监控平台本身不直接处理发现的故障,不影响业务系统的正常运行。
2.4.3 人与系统高度结合 基于在软硬件上的上百个代理端或传感器每隔几分钟进行1次轮巡,运维人员在电脑前随时可以进行业务巡检(以业务视角进行巡检)、IPMI巡检(关注设备硬件情况),随时了解资源运行情况。此外,运维人员每天例行的值班巡检也可通过系统的值班巡检功能完成。按照巡检制度新建巡检任务,实现业务、软件、设备、网络、动环分别进行的自动巡检,由运维人员逐一核实报警信息,添加批注,同时支持生成制式的巡检报告,历次巡检记录有据可查。
2.4.4 运行可视化管理 平台提供运行可视化展示功能,以业务拓扑、网络拓扑、机房三维可视化多角度展示IT资源运行、性能情况等,使领导、管理者、技术人员能迅速掌握 IT 运行状态。
2.5 数据上云
为实现故障消息实时推送功能,部署前置机后运维监控系统支持通过微信接收报警信息和查看运维监控数据。其中,监控服务器部署在内网区,数据同步服务器部署在前置机区。监控数据从内网经过防火墙到达前置机,然后再从前置机发往云端。内网服务器到前置机经过一道防火墙,前置机到云端又经过一道防火墙。数据流向,见图3。
图3 数据流向
首先在运维监控服务器生成数据并加密,然后基于传输层安全性(Transport Layer Security,TLS)的超文本传输协议安全(Hyper Text Transfer Protocol Secure,HTTPS)加密传输协议送至前置机。前置机通过二进制硬编码的 C++从阿里云获取传输配置信息,再基于 TLS 的 HTTPS 加密传输协议将数据传送至阿里云。整个传输过程经过双重加密,保证数据安全。
3 结语
随着对医院信息系统的依赖度越来越高,对医院信息部门的运维能力要求也日益提高,信息部门能否将工作重点从事后补救向事前处置转移将会影响整个信息系统的运行效率和安全。本文提出使用智能化工具服务于医院整个IT环境的全局运维,通过对自身实践的总结分析得出一些经验,以期为相关工作提供参考。