当前位置: > 论文中心 > 计算机论文 >

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

时间:2014-12-09 11:09 点击:
float cpuLoad=pc.NextValue(); Console.WriteLine(CPU load=+cpuLoad+%.); } } 系统函数通过线程等待进行每隔1s的监控数据采集。另外,在软件设计中定义变量CPU_value,它将接收cpuLoad的数据值,并与系统告

  float cpuLoad=pc.NextValue();

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

  }

  }

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

  2.2 硬盘使用监控设计

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

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

  Listmodels=new List();

  通过内部函数获取当前磁盘信息:

  DriveInfo[]dis=DriveInfo.GetDrives();

  再之,利用foreach()语句进行迭代分析硬盘数据在类的设计中,对获取硬盘类型、磁盘驱动详细信息、文件大小等通过类函数进行封装,以提高系统的模块化集成程度。计算磁盘大小通过文件夹大小计算函数进行递推计算。由于篇幅所限,具体函数实现此处不再赘述。与CPU监控同理,在Timer定时器中对硬盘监控结果进行阈值判断,并提出相应的告警及建议。

  2.3日志文件的记录

  在上述的Timer定时器中的告警信息处理过程,系统将同时给予日志文件记录,这就是告警信息的日志文件记录,对于安全性要求高、设备履历要求严谨的空管行业,这种日志记录将显得更加重要。模块通过日志函数进行设计,主要传入变量有日志记录的文件路径以及日志内容文本,这种设计模式也将有利于系统操作日志的设计和数据分析日志的实现,提供了较好的鲁棒性。

  为了进一步提高系统的智能化水平,在日志记录过程中对日志文件大小进行判断,并以日期命名文件,方便后续文件的检索与查询。在每个月的月初将对系统日志文件进行大小计算,删除过期文件并提出告警。

  3.结语

  本文提出一种基于C#的服务器硬盘监控系统设计,通过对CPU及内存监控、硬盘监控实现对服务器性能监控,并提出相应的告警,为了提高系统维护性,系统提供了日志文件设置,对设计的系统进行包括告警信息、操作信息及数据分析信息在内的系统信息记录以便后续的故障排除及空管安全事件调查。系统应用于空管技术保障一线,为降低故障率提高保障水平有一定作用,也借此为兄弟单位提供一种技术维护参考。

  【参考文献】

  [1]王军,冯铃,薛文伟.服务器与集群系统节能技术研究[J].软件,2011(02).

  [2]徐文芳.高性能服务器自主管理板的设计与实现[D].哈尔滨工业大学,2011.

  [3](美国)沃森(Karli Watson)(美国)内格尔(Christian Nagel)C#入门经典(第6版)清华大学出版社,2014.

   论文榜(www.zglwb.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导代理,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


栏目列表
联系方式
推荐内容
 
QQ在线咨询
投稿辅导热线:
189-6119-6312
微信号咨询:
18961196312