c# 服务器性能监控,基于C#的服务器性能监控系统的设计与实现.doc

基于C#的服务器性能监控系统的设计与实现.doc

基于C#的服务器性能监控系统的设计与实现

【摘 要】提出一种能够监控服务器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

float cpuLoad=pc.NextValue();

Console.WriteLine("CPU load="+cpuLoad+"%.");

}

}

系统函数通过线程等待进行每隔1s的监控数据采集。另外,在软件设计中定义变量CPU_value,它将接收cpuLoad的数据值,并与系统告警模块内部设置的CPU_threshold进行每隔5s的定时比较,如果不符合要求则提出声音告警。相关处理在Timer定时器中实现。

2.2 硬盘使用监控设计

由于空管安全数据要求以及数据记录的不间断性,根据设备维护经验统计,硬盘使用空间到极限、硬盘坏块出现等硬盘故障成为空管服务器监控的最为常见、最为严重的关键点。为了提高系统设计的模块化性能以及方便后续维护,系统设计通过C#编写自己的硬盘监控类,而不直接采用PerformanceCounter类。在实际应用中只需要对硬盘监控类进行实例化即可实现硬盘监控程序编写。类的主要功能是提供硬盘名称、硬盘总容量、硬盘使用剩余容量、硬盘已用容量、硬盘格式设置以及获取磁盘详细性格式等基本功能。具体实现如下:

首先对于系统的通用性,通过C#列表进行硬盘实

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值