企业信息系统运行状态监控与管理_第1页
企业信息系统运行状态监控与管理_第2页
企业信息系统运行状态监控与管理_第3页
企业信息系统运行状态监控与管理_第4页
企业信息系统运行状态监控与管理_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

企业信息系统运行状态监控与管理的信息化在企业内部运行着许多信息系统,信息系统管理员的主要工作之一就是负责这些系统的运行状态监控与管理,这也是信息系统管理员的日常工作。然而在实际工作中,系统管理员往往疏于日常监控与管理,只是在出现故障时才疲于应急维修。因此加强日常运维管理,用信息化手段提高效率和管理水平是必需的,也是IT专业人员专业性的体现。本文在以下部分讨论WINDOWS环境下信息系统运行状态监控与管理的信息化实现,文中代码以SERVER2003标准版为例,在.NET2008下调试通过。一、信息系统维护工作现状信息系统运维最重要的是服务器软硬件及网络环境的监控与维护管理,包括同下几方面内容:服务器操作系统运行状态监控(CPU负载率、内存占用率等)服务器日志监控(主要包括操作系统日志、应用程序日志、安全日志)相关服务运行状态监控(数据库服务、IIS服务、杀毒软件服务等)进程监控漏洞修复管理网络状态监控硬件状态监控信息系统软硬件运行故障处理记录数据库运行状态对上述工作,常规的方式是人工检查后再填写纸质记录表。这种工作模式存在以下问题:不便于追溯分析与相关性分析信息系统出现问题,可能的原因很多。总体上是软硬件环境,但具体原因有网络、硬件故障、操作系统故障、服务配置与运行、病毒、异常进程、负载等。根据维护经验,许多故障是重新启动一下服务器就好,系统管理员往往对具体什么原因不追查或不便追查。在实际工作中,日志中经常有各种严重错误信息,但也不影响信息系统正常运行。有些原因是积累性或累加性的,如不必要的服务对信息系统安全运行的影响等,这些都要进行相关性分析。在故障处理时,相关性分析尤其重要,可以迅速定位故障、减少判定时间。工作效率低、发现潜在问题难。系统管理员日常巡检一般是登录到服务器,在系统资源管理窗口看资源使用情况、在性能窗口看系统负载、在事件窗口查看日志、在服务窗口查看相关服务运行情况、在任务管理窗口查看异常进程、PING网关查看网络情况、查看杀毒软件服务日志、查看硬件指示灯。如有异常或故障,则处理故障后,再填写故障处理记录。由于企业内部信息系统管理员并不是专职的系统管理员,同时用于信息系统维护的工作时间不是很多,特别是在信息系统运行正常时,往往巡查流于形式。在一个个界面切换,在短时间内从满屏信息中排查出异常迹象,效率很低,发现潜在问题的可能性极小。对于全局性问题不易统一处理、根本解决问题对于一些特定类型的故障,如病毒、漏洞引发的故障,往往是全局性的,在全厂范围内所有服务器都可能存在同样的问题。处理这类故障隐患,需要统一排查统一处理。而人工或纸质记录表方式不能支持这方式。在信息系统正式上线运行后,才发现设计缺陷或硬件选型、软件不兼容问题也是时有发生。在上线初期,用户数据量很少,运行一段时间后随着数据量和访问量的急剧增加累积,这些问题才可能暴露出来。对于这种故障需要配合软件程序排查,排除或确定服务器软硬件环境因素,才能确定问题最终根本解决。不易开展技术积累和团队管理因为并不是专职人员,企业内部系统管理员水平差异较大。因此基于团队管理,最理想的解决方案是分工合作,各人专攻不同的技术领域。人工方式巡查和纸质报表记录,基本上取决于各人水平和工作责任心。一份完善的故障处理记录包括以下内容:故障现象、发生时间、处理人、故障判断思路、判断依据、故障确认方式、故障处理方法、处理结果。其中故障发生时间对于分析故障规律至关重要,根据故障时间查询故障时间点前后日志和系统环境状态可以分析出故障规律。而纸质报表是不能反映准确反映故障前的系统状态的。处理结果的跟踪反馈如果人工完成则也很费时费力。经验来于故障处理,如果不能完整地记录故障处理所有信息,则是在浪费宝贵的经验。而团队的经验积累,是不可能靠师傅带徒弟这种传统的方式。二、解决方案为解决上述问题,用程序自动将信息系统状态数据写入数据库,再进行数据关联查询分析,最终实现标准化规范化的管理。这是最理想的解决方案。笔者开发了基于WMI技术的信息系统监控与管理系统,基本实现解决了上述问题。程序用.NET2008C#开发,运行环境为WINDOWSSERVER2003标准版、SQLSERVER2008。1、需求分析解决方案的核心是如何获取系统运行状态数据,这些数据分如下几类:系统基础配置信息:内存、CPU、硬盘等系统实时负载信息:CPU负载、内存使用率、磁盘队列长度、网卡吞吐率等日志:应用日志、系统日志、安全日志、某些应用程序专有日志等服务运行状态:服务的启动方式、当前运行状态进程信息:正在运行的进程名称、系统资源占用率等网络状态信息:对于服务器主要是网关、关联主机等IP是否能PING通硬件状态:硬件报警及报错信息等数据库运行信息:错误报警信息、存储空间信息、负载信息等有了这些数据,可能通过数据关联查询,进行有效管理,需要做的也就是一个常规小型信息管理系统的功能。获取上述信息的技术涉及到以下几种:WMIWindowsManagementInstrumentation(WMI)是可伸缩的系统管理结构,该规范采用一个统一、基于标准且可扩展的面向对象接口。它提供与系统管理员信息和基础WMIAPI交互的标准方法,主要由系统管理应用程序开发人员和系统管理员用来访问和操作系统管理信息;它可用来生成组织和管理系统信息的工具,使系统管理人员能够更密切的监视系统活动。WMI提供了一套内置在MicrosoftWindows操作系统中的丰富的系统管理服务,可以在有大量的应用程序、服务和设备的系统中提供全方位的管理功能。它允许应用程序的开发者,使用简单的、一致的机制,去查询企业中的任一台计算机上的信息,或是进行系统配置。通过WMI接口可以获得的信息包括硬件设置,状态信息,驱动器配置,BIOS信息,应用程序的设置,事件记录信息,以及其他。WMI通过一组API来获得信息,但它表征的是一种通过一个简单,工业标准对象管理模式来获取信息的函数。这使得应用程序的开发者不必学习Windows的每一个API的具体细节。.NetFrameWorkSDK对WMI提供了全面的支持,.NetFrameWorkSDK为VisualC#能够操作WMI提供了一个专门的命名空间"System.Management"。在命名空间"System.Management"中提供了大量用以处理和WMI相关的类、接口和枚举。WINDOWS自带的性能监控WINDOWS自带的性能工具,可以进行对系统负载进行监控,并能设置报警将监控信息发送到MSSQL数据库或在系统日志里记录。POWERSHELL脚本POWERSHELL相当于一个轻型C#平台,基于.NETFramework框架,提供命令行交互式和脚本功能,实现WINDOWS平台的资源管理。.NET.NetFrameWorkSDK对WMI提供了全面的支持,.NetFrameWorkSDK为VisualC#能够操作WMI提供了一个专门的命名空间"System.Management"。在命名空间"System.Management"中提供了大量用以处理和WMI相关的类、接口和枚举。当然作为微软最新一代开发平台,直接调用底层API也是无所不能的。VBscript与.NET类似,VBScript通过调用WMI对象也能实现对WINDOWS平台的资源管理。2、 相关技术方案分析由上述相关技术简述可见,最底的是WINDOWSAPI,功能强大但使用复杂。WMI和是WINDOWS平台内置的面向系统管理员的接口规范和脚本环境,但直接用脚本编写信息管理系统太麻烦。WINDOWS自带的性能工具使用方便,但有两点麻烦,一是只能获得系统负载信息,二是只支持写入MSSQLSERVER数据库。POWERSHELL功能强大,但适合于系统管理员写脚本。作为编程语言,C#比VBScript方便很多,企业内网环境下,用C#写WINFORM程序是最简单的。其它语言也可以实现,但C#和VBScript是微软体系内的平台,与WINDOWS平台与WMI结合紧密,因此比其它语言更便捷。综上所述,开发企业内部信息系统监控与管理系统,可行的技术方案有如下几种:直接在编程环境下用API编程C#或VBScript调用POWERSHELL脚本C#或VBScript调用WMI对象笔者采用是的C#或VBScript调用WMI对象方案,是因为个人原因对C#比较熟悉。但第一种方案应更高效安全。如果熟悉POWERSHELL,第二种方案更好。3、 编程思路后台数据库表结构很简单,一张主表,其它都是从表。主表记录每台服务器资产管理信息,字段为主键、管理员姓名、信息系统名、角色用途、IP、systemusername、password、资产编号、存放地点等。服务器基础信息表记录每台服务器内存、操作系统、型号、序列号、本地硬盘总容量、内存总量信息。服务器基础信息表与主表主键一对一关联,其它从表都是与主表一对多主从外键关联。日志、负载、服务、维修以及人工检查项都是单独一张表。主程序做成服务,根据企业管理制度要求,定期启动自动抽取服务器状态数据。然后通过查询进行关联分析,同时还可以设置报警值,对异常情况进行报警。4、 具体实现以下代码是C#下获取磁盘容量的片段示例:ConnectionOptionsop=newConnectionOptions();〃远程计算机用户名称op.Username=username;〃远程计算机用户密码op.Password=password;〃设置操作管理范围,需要知道远程服务器的IP、用户名、口令。Managementscopescope=newManagementScope("\\\\"+ip.Trim()+"\\root\\cimv2",op);〃连接远程计算机scope.Connect();//查询WMI对象--取逻辑磁盘总容量System.Management.ObjectQueryoq=newSystem.Management.ObjectQuery("SELECT*FROMWin32_LogicalDiskwhereDriveType=3");ManagementObjectSearcherquery=newManagementObjectSearcher(scope,oq);//得到WMI返回结果ManagementObjectCollectioncq=query.Get();〃定义存放磁盘总容量的变量Doublehd=0〃获取每个磁盘容量并累加foreach(ManagementObjectmoincq){hd+=Convert.ToDouble(mo.GetPropertyValue("Size"))/1024/1024/1024;}代码解释首先要在工程引用中添加System.Management,而不是仅在声明部分添加。ConnectionOptions类用于指定生成WMI连接所需的所有设置,这里用它指定远程服务器的用户名和密码。ManagementScope表示管理操作的范围(即命名空间),这里用它指定远程服务器的IP和操作命名空间\\root\\cimv2,然后调用它的Connect方法进行实际连接。、root\defaultObjectQuery类返回查询结果,ManagementObjectSearcher定义查询,查询结果对象放在ManagementObjectCollection里,最后用查询结果对象的GetPropertyValue方法取得想要的属性值。上述过程可简化为连接、查询、取属性。查询会用到WQL,这是WMI对象查询的专用查询语言,相当于简化版的SQL。查询前要知道WMI的类和类的属性,可以用WINDOWS自带的图形化工具wbemtest来查看类的相关信息。以下是常用的WMI类。//硬件Win32_Processor,//CPU处理器Win32_PhysicalMemory,//物理内存条Win32_DiskDrive,//硬盘驱动器Win32_BaseBoard,//主板Win32_BIOS,//BIOS芯片Win32_SerialPort,//串口Win32_SystemSlot,//主板插槽(ISA&PCI&AGP)Win32_NetworkAdapter,//网络适配器Win32_NetworkAdapterConfiguration,//网络适配器设置//操作系统Win32_SystemDriver,//驱动程序Win32_DiskPartition,//磁盘分区Win32_LogicalDisk,//逻辑磁盘Win32_LogicalDiskToPartition,//逻辑磁盘所在分区及始末位置。Win32_LogicalMemoryConfiguration,//逻辑内存配置Win32_PageFile,//系统页文件信息Win32_PageFileSetting,//页文件设置Win32_BootConfiguration,//系统启动配置Win32_OperatingSystem,//操作系统信息Win32_StartupCommand,//系统自动启动程序Win32_Service,//系统安装的服务Win32_Group,//系统管理组Win32_GroupUser,//系统组帐号Win32_UserAccount,//用户帐号Win32_Process,//系统进程Wi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论