企业信息系统运行状态监控与管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
企业信息系统运行状态监控与管理的信息化
在企业内部运行着许多信息系统,信息系统管理员的主要工作之一就是负责这些系统的运行状态监控与管理,这也是信息系统管理员的日常工作。然而在实际工作中,系统管理员往往疏于日常监控与管理,只是在出现故障时才疲于应急维修。因此加强日常运维管理,用信息化手段提高效率和管理水平是必需的,也是IT专业人员专业性的体现。
本文在以下部分讨论WINDOWS环境下信息系统运行状态监控与管理的信息化实现,文中代码以SERVER2003标准版为例,在.NET2008下调试通过。
一、信息系统维护工作现状
信息系统运维最重要的是服务器软硬件及网络环境的监控与维护管理,包括同下几方面内容:
●服务器操作系统运行状态监控(CPU负载率、内存占用率等)
●服务器日志监控(主要包括操作系统日志、应用程序日志、安全日志)
●相关服务运行状态监控(数据库服务、IIS服务、杀毒软件服务等)
●进程监控
●漏洞修复管理
●网络状态监控
●硬件状态监控
●信息系统软硬件运行故障处理记录
●数据库运行状态
对上述工作,常规的方式是人工检查后再填写纸质记录表。这种工作模式存在以下问题:
●不便于追溯分析与相关性分析
信息系统出现问题,可能的原因很多。总体上是软硬件环境,但具体原因有网络、硬件故障、操作系统故障、服务配置与运行、病毒、异常进程、负载等。根据维护经验,许多故障是重新启动一下服务器就好,系统管理员往往对具体什么原因不追查或不便追查。在实际工作中,日志中经常有各种严重错误信息,但也不影响信息系统正常运行。有些原因是积累性或累加性的,如不必要的服务对信息系统安全运行的影响等,这些都要进行相关性分析。在故障处理时,相关性分析尤其重要,可以迅速定位故障、减少判定时间。
●工作效率低、发现潜在问题难。
系统管理员日常巡检一般是登录到服务器,在系统资源管理窗口看资源使用情况、在性能窗口看系统负载、在事件窗口查看日志、在服务窗口查看相关服务运行情况、在任务管理窗口查看异常进程、PING网关查看网络情况、查看杀毒软件服务日志、查看硬件指示灯。如有异常或故障,则处理故障后,再填写故障处理记录。
由于企业内部信息系统管理员并不是专职的系统管理员,同时用于信息系统维护的工作时间不是很多,特别是在信息系统运行正常时,往往巡查流于形式。在一个个界面切换,在短时间内从满屏信息中排查出异常迹象,效率很低,发现潜在问题的可能性极小。
●对于全局性问题不易统一处理、根本解决问题
对于一些特定类型的故障,如病毒、漏洞引发的故障,往往是全局性的,在全厂范围内所有服务器都可能存在同样的问题。处理这类故障隐患,需要统一排查统一处理。而人工或纸质记录表方式不能支持这方式。
在信息系统正式上线运行后,才发现设计缺陷或硬件选型、软件不兼容问题也是时有发生。在上线初期,用户数据量很少,运行一段时间后随着数据量和访问量的急剧增加累积,
这些问题才可能暴露出来。对于这种故障需要配合软件程序排查,排除或确定服务器软硬件环境因素,才能确定问题最终根本解决。
●不易开展技术积累和团队管理
因为并不是专职人员,企业内部系统管理员水平差异较大。因此基于团队管理,最理想的解决方案是分工合作,各人专攻不同的技术领域。人工方式巡查和纸质报表记录,基本上取决于各人水平和工作责任心。
一份完善的故障处理记录包括以下内容:故障现象、发生时间、处理人、故障判断思路、判断依据、故障确认方式、故障处理方法、处理结果。其中故障发生时间对于分析故障规律至关重要,根据故障时间查询故障时间点前后日志和系统环境状态可以分析出故障规律。而纸质报表是不能反映准确反映故障前的系统状态的。处理结果的跟踪反馈如果人工完成则也很费时费力。
经验来于故障处理,如果不能完整地记录故障处理所有信息,则是在浪费宝贵的经验。而团队的经验积累,是不可能靠师傅带徒弟这种传统的方式。
二、解决方案
为解决上述问题,用程序自动将信息系统状态数据写入数据库,再进行数据关联查询分析,最终实现标准化规范化的管理。这是最理想的解决方案。笔者开发了基于WMI技术的信息系统监控与管理系统,基本实现解决了上述问题。程序用.NET2008C#开发,运行环境为WINDOWS SERVER2003标准版、SQLSERVER2008。
1、需求分析
解决方案的核心是如何获取系统运行状态数据,这些数据分如下几类:
●系统基础配置信息:内存、CPU、硬盘等
●系统实时负载信息:CPU负载、内存使用率、磁盘队列长度、网卡吞吐率等
●日志:应用日志、系统日志、安全日志、某些应用程序专有日志等
●服务运行状态:服务的启动方式、当前运行状态
●进程信息:正在运行的进程名称、系统资源占用率等
●网络状态信息:对于服务器主要是网关、关联主机等IP是否能PING通
●硬件状态:硬件报警及报错信息等
●数据库运行信息:错误报警信息、存储空间信息、负载信息等
有了这些数据,可能通过数据关联查询,进行有效管理,需要做的也就是一个常规小型信息管理系统的功能。
获取上述信息的技术涉及到以下几种:
●WMI
Windows Management Instrumentation (WMI)是可伸缩的系统管理结构,该规范采用一个统一、基于标准且可扩展的面向对象接口。它提供与系统管理员信息和基础WMI API交互的标准方法,主要由系统管理应用程序开发人员和系统管理员用来访问和操作系统管理信息;它可用来生成组织和管理系统信息的工具,使系统管理人员能够更密切的监视系统活动。
WMI提供了一套内置在Microsoft Windows操作系统中的丰富的系统管理服务,可以在有大量的应用程序、服务和设备的系统中提供全方位的管理功能。它允许应用程序的开发者,使用简单的、一致的机制,去查询企业中的任一台计算机上的信息,或是进行系统配置。通过WMI接口可以获得的信息包括硬件设置,状态信息,驱动器配置,BIOS信息,应用程序的设置,事件记录信息,以及其他。WMI通过一组API来获得信息,但它表征的是一种通过一个简单,工业标准对象管理模式来获取信息的函数。这使得应用程序的开发者不必学习Windows的每一个API的具体细节。