技术开发 频道

基于.NET技术的监控应用实例分析

    【IT168 评论】我们都知道,作为一个百、千万及以上访问量的网站,网站后台的支持系统是相当多的,各系统之间盘结交错,系统之间频繁的互相通信、交换数据。如果某个结点稍一出差错,可能就导致某个业务出现停滞现象,尤其对于一些关键的业务系统来说,需要做到高可用性,需要每天不间断的处于运行状态。除了业务系统具有良好的容错、备份机制以外,还有必要对关键系统的运行状态、输出日志等进行监控。一旦出现异常现象,及时的反馈给技术人员,使得我们可以对部署在各地的服务器进行一个有效地处置。下面将分析一下在windows平台如何开发此类应用。

  先来大致描述一下网站方面的东西,我们这个网站是用asp.net开发的,服务器操作系统是windows 2003,专门提供视频内容分享方面的服务。前台基本上是以shtml页面展现内容,后台有负责生成页面内容的系统,负责视频上传,转换,分发,存储及播放的系统,负责数据统计方面的系统,站内搜索的系统等。后台的系统是以系统服务的形式运行,各数据中心的系统通过IBM 的MQ进行通信。需要监控的地方主要可以分为硬件,软件及网络方面,例如:存储视频的磁盘空间小于某个阀值,MQ的核心队列堆积了大量数据包,某个系统服务输出了错误的日志信息,某台服务器出现故障关机,网络中断等。

  一、系统架构分析

  该系统一种典型的网络通讯应用,所以可以在系统的每个层次之间通过业务协议作为接口,协议根据业务的内容可以不断的扩充,这样层与层之间的耦合性低,功能相对独立。在数据采集和数据通讯层都比较完善的时候,数据展现层的功能扩展对下面两层的影响可以降低到最小。数据通讯的模式可以分为主动和被动的方式发送数据到监控平台。例如有一些数据需要被监控计算机实时发送,而另一些数据是由操作员向某台计算机发出查询命令,然后被监控计算机执行应答。可以从功能上可以自下而上把整个系统的架构分为数据采集,数据通讯和数据展现共三个层次。

1

  【图 2-1】

  数据采集层是服务器数据的源。主要包括对服务器运行状态、IIS可用性与性能、MQ服务器与消息队列、ORACLE数据库服务、自行开发的服务和服务器资源的使用情况等等软硬件数据进行抓取。从技术上分析可以把采集的数据分为两大类:一是被监控服务器主动发送出来的数据,这里又包含计算机的实时运行状态和一些定制的事件。二是监控中心向被监控服务器发送的各项数据指令。

  数据通讯是传输数据的承载体。主要是把采集到的数据准确,安全的输送到监控中心。这里需要考虑通讯的性能,安全,以及现有的网络结构。然后综合这些情况选择合适的网络通讯模型。与采集数据的接口是业务协议。这个层面负责把协议进行解析,关键数据进行加密,然后传输数据。

  数据展现层是对采集的数据进行加工、表现的地方,它是作为监控人员与机器之间的一个控制接口,所有的业务功能都最终体现到这个层面。例如:各服务器的运行信息实时显示,远程操作服务、权限管理、输出报表、数据的存放以及预警功能。

  数据上行流程:

1
 

  数据通讯层

  数据采集层

  事件

  状态

  数据通讯层

  数据展现层

  网络环境

  WMI

  数据打包

  协议

  发送数据

  接收数据

  协议

  数据解包

  数据存取管理

  数据库

  消息

  实时数据显示

  消息  

0
相关文章