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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于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#列表进行硬盘实例化:

文档评论(0)

sis_lxf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档