【摘 要】提出一种能够监控服务器CPU性能、硬盘使用以及内存使用情况的软件,该软件通过visual2010进行基于C# WINFROM设计,能够对windows平台下的服务器系统进行性能监控,并发出声光告警,同时实现文本日志文件记录,应用于空管内网共享服务器、FIPS服务器及相关软件服务器平台。 【关键词】服务器监控;C# 空管 0.引言 随着计算机技术的发展,承担大型业务的服务器的健康状况也成为技术维护人员关注的焦点。空中交通管理行业自信息化一期实施以来,越来越多依赖于基于B/S模式的信息化处理,包括内部网络监控、内部办公系统、技术保障部门的运行维护系统(中南局技术中心开发)等等。涉及范围包括业务运行、办公处理、技术保障等多重方面。服务器健康的重要性不言而喻,特别是内部数据融合需求日益提高、联合部署的系统也逐日增加的情况下,如若服务器性能无法满足运行需求,如硬盘故障、整机下电、寿命缩短,对于运行势必造成大范围影响。同时,由于设备安装的环境需求以及服务器检查的相关规定,对于日益繁忙的空管技术保障工作,服务器的性能检测又成为技术保障人员的另一个压力。本文提出一种基于C#的服务器监控系统,能够实现对服务器的无人智能监控,以减少技术维护人员的压力,并对故障防范于未然。 1.总体设计 软件设计主要包括三方面,一是CPU性能监控,二是硬盘监控,三则是内存使用监控。其中内容使用情况与CPU性能监控可以合并到同个设计模块。而在具体实现上有数据读取、数据分析处理、系统告警及记录日志等功能。实现如图1。 图1 系统整体设计图 数据读取模块主要负责原始数据的采集,而数据分析处理则是对于原始数据的进一步处理,包括软件界面的数据显示,告警功能则包含对告警阈值的设置、声音设置及软件的其他告警配置。在整个过程中,日志记录功能记录包括告警信息、系统操作信息以及数据读取分析信息在内的系统信息,其设计主要为后续的排故及安全事件调查提供数据依据。与此同时,由于系统部署的实际需求,记录采用无需安装的文本文件形式进行记录,减少由数据库记录带来的安装上的不便。 2.设计与实现 2.1 CPU性能与内存监控设计 C#提供了大量封装的设计类,它们的出现,对缩短设计开发周期,提高开发效率有一定的意义。PerformanceCounter就是其中一种。作为 Windows NT 性能计数器组件,它提供了对计算机CPU性能监控的一种方法,主要可监控的功能项包括“Cache”(缓存)、“Memory”(内存)、“Objects”(对象)、“PhysicalDisk”(物理磁盘)、“Process”(进程)、“Processor”(处理器)、“Server”(服务器)、“System”(系统)和“Tead”(线程)等类别。因此系统通过它可以简单实现对CPU的性能监控。 private static void PerformanceCounterFun(string CategoryName, string InstanceName, string CounterName) { PerformanceCounter pc=new PerformanceCounter(CategoryName, CounterName,InstanceName);while(true) { Thread.Sleep(1000);//等待1s |