论文部分内容阅读
摘要:对于一些大型的复杂网络系统,利用传统的集中式系统监控模型进行监控和故障诊断是困难的。文章给出了一种将移动Agent技术用于系统监控的分布式系统监控模型。利用这种系统监控模型可以减少网络数据流量,缩短系统监控与故障诊断时间。
关键词:分布式;移动Agent;系统监控;监控模型
0 引言
在现有的集中式系统监控体系中,客户端与服务器之间传递着大量的数据,网络流量很大,增加了网络拥塞的机率,严重的可以导致系统不能正常工作。而且对于一些不太稳定的网络环境,在大量传送数据的过程中,很可能出现网络中断,导致系统监控与诊断不能正常进行的情况。本文提出了一种基于移动Agent技术的系统监控模型,它适合一些不稳定的网络,能减少网络中的通信流量,缩短系统监控与诊断的时间。
1 移动Agent技术
移动Agent是一个可以携带代码和状态自主在异构网络设备间迁移的具有自治特性的代码或程序,它可以移动到网络中需要进行监控的地方,利用事先赋予的智能,选取系统监控所需要的信息,并进行相应的处理。Agent在移动过程中,它的自身状态被保存,并封装成信息传送到新的主机上,从而在新的主机上继续执行,所以对于很多应用系统来说,移动Agent是一个行之有效的选择。在客户机服务器体系中它可以明显改善延迟和提高网络带宽利用率,在网络状况不佳时还可以降低通信中断的概率等。
2 基于移动Agent的系统监控模型
分布式系统监控的主要任务是监控网络内的所有设备,并根据所采集的设备信息,采用智能的诊断方法,准确而又及时地判断可能产生的设备故障,给出设备故障描述和快速排除故障的策略。
2.1分布式系统监控模型的各组成部分
如图1所示,整个系统监控由两部分组成:监控管理站和被监控站。基于分布式的系统监控采用了两级故障诊断结构,即高级诊断部分与低级诊断部分,诊断的粒度可以达到网络中的具体设备,如计算机、网络交换机、路由器等,完成整个域内系统监控任务的设备则由具有监控能力的计算机承担,从而形成一个分层次的系统监控与诊断的体系结构。
(1)被监控站系统组成
被监控站由设备数据采集模块、SNMP Agent模块、低级故障诊断模块、MAEE组成。设备数据采集模块采用专用的数据采集设备。SNMP Agent模块则从网络中支持SNMP协议的网络设备共同维持的MIB中获取这些设备及网络状况等的状态信息。低级故障诊断模块是被监控站与维护人员的接口,它对采集来的数据进行预处理,对于一些比较容易诊断的故障,给出故障提示,并指导维护人员修复故障。MAEE是移动Agent执行环境,为移动代理提供各种功能支持,包括创建、运行、传送、接收和保护等,它为执行移动代理创造一个位置透明、便于控制、安全可靠的运行环境。

图1 基于移动Agent的系统监控模型示意图
被监控站的代理由移动代理MA(Mobile Agent)和常驻代理SA(stationary Agent)组成。SA可以自己激活,也可以由监控管理站的管理站代理MSA激活,它常驻被监控站,不能移动。它的主要任务是从设备数据采集模块和SNMP Agent中获取采集数据,将这些数据交给低级诊断模块进行诊断,同时还要准备与MA交换数据。MA由监控管理站的MSA产生,并被派发或迁移到各个被监控站,它携带了MSA指示,并从SA中获取采集数据。
(2)监控管理站系统组成
监控管理站由一个故障诊断专家系统组成。专家系统是根据人们长期的实践经验和大量的故障信息设计的一套智能计算机程序,用于解决复杂系统的故障诊断问题。整个故障诊断专家系统由一个高级故障诊断专家系统、知识库、本地信息采集模块、MAEE组成。其中高级故障诊断专家系统相当于专家系统中的推理机,此外还对整个域内故障诊断系统进行协调和管理,并实现了用户接口。本地信息采集模块提供了与本计算机相连的设备的数据采集功能。MAEE中的MSA负责激活被监控站的SA,产生和派发MA。数据预处理模块是MAEE与高级诊断专家系统之间的接口,它能够对数据进行缓冲,以协调双方的数据同步。
2.2分布式系统监控模型的具体工作流程
首先,高级故障诊断专家系统定时地或根据用户的指示经过MAEE的数据预处理模块向MSA发出指令,MSA根据指令的要求,确定移动Agent的任务,同时激活各被监控站的SA。接着产生MA,并按事先约定好的迁移路径派发出去。在被监控站,SA一旦被激活就开始采集数据,当MA到达后,SA将MA的指令和数据一并交给低级故障诊断模块,该模块根据指令的要求去除冗余数据,并进行故障诊断,将诊断结果和诊断不了的数据经SA交给MA。MA继续根据迁移路径迁移到下一个被监控站或返回到时监控管理站。最后,在监控管理站,MA返回后,将采集到的数据和部分诊断结果经数据预处理模块交给高级诊断专家系统处理,专家系统运行推理机,并根据知识库中的数据进行分析,给出正确的诊断结果。
3 优势分析
3.1利用移动代理进行故障定位
如果MA在巡游路径上发现有节点不可达,就向管理站发出信息,通知管理站有异常。因为本站之前的各站都是可达的,所以只要问题出在后端,管理站仍可以收到该消息。就算问题出在前端,此移动代理丢失,在下一次巡游中也可以定位故障发生源。管理站知道发生问题后,就利用移动代理来定位故障。
3.2对网络中数据流量的分析
传统的客户/服务方式要完成一次系统故障诊断需依次向各个客户机发出请求,系统数据流量的计算公式为:
其中,Ncs表示集中式系统中的数据流量,Nc表示采集设备的数据量,Nsnnp表示一次SNMP请求发出和响应的数据量,m表示系统中参与系统监控的计算机数量,n表示完成一轮系统监控共发送了n次SNMP请求。
基于移动Agent的系统监控在本地处理所有采集设备的数据和SNMP的数据,减少了网络上的数据流量。其数据量计算公式为:
其中,Nagent表示基于移动Agent的系统的数据流量,Ndi表示本地系统不能处理的数据,Nsi表示本地系统已处理的数据结果,Nma表示移动Agent的本身的数据量,m同公式(1)。
从以上两式的对比中可以看出,Nma只是移动Agent的代码部分,代码相对于采集的数据来说是非常少的。
3.3对系统监控中时延的分析
传统的集中式的系统监控采用轮询的方式,整个系统的时延见公式(3):
Tes=mTc+n(Ts+Tr)
(3)其中,Tcs表示集中式系统监控时的时延,Tc每次设备数据采集所需时间,Ts和Tr分别表示一次数据SNMP请求和响应的时延,m、n同公式(1)中的定义。
而在基于移动Agent的系统监控系统中,由于预先激活常驻代理SA,各被监控站处于实时状态,移动代理MA在巡游进程中可以直接从SA中获取数据,节省了等待数据采集的时延。时延的计算公式为:
Tagent=(m-1)(Tms+Tma)
(4)其中,Tagent表示利用移动Agent进行系统监控时的时延,T。是SA向MA传送数据及MA处理数据的时间,Tma为每个MA迁移的时延,m同公式(1)。
从以上两个式子可以看出,Tc是一个很耗时的量,而在移动Agent环境中设备数据采集是由SA在本地完成的,不存在Tc这个时延,从而大幅度减少了整个系统的时延。
4 结束语
经过以上分析可以看出:这种基于移动Agent的分布式系统监控模型,明显地降低了网络流量,减少了数据传递的时延,从而增强了整个监控系统的实时性。基于人工智能专家系统的诊断算法,也提高了故障诊断的准确性。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:分布式;移动Agent;系统监控;监控模型
0 引言
在现有的集中式系统监控体系中,客户端与服务器之间传递着大量的数据,网络流量很大,增加了网络拥塞的机率,严重的可以导致系统不能正常工作。而且对于一些不太稳定的网络环境,在大量传送数据的过程中,很可能出现网络中断,导致系统监控与诊断不能正常进行的情况。本文提出了一种基于移动Agent技术的系统监控模型,它适合一些不稳定的网络,能减少网络中的通信流量,缩短系统监控与诊断的时间。
1 移动Agent技术
移动Agent是一个可以携带代码和状态自主在异构网络设备间迁移的具有自治特性的代码或程序,它可以移动到网络中需要进行监控的地方,利用事先赋予的智能,选取系统监控所需要的信息,并进行相应的处理。Agent在移动过程中,它的自身状态被保存,并封装成信息传送到新的主机上,从而在新的主机上继续执行,所以对于很多应用系统来说,移动Agent是一个行之有效的选择。在客户机服务器体系中它可以明显改善延迟和提高网络带宽利用率,在网络状况不佳时还可以降低通信中断的概率等。
2 基于移动Agent的系统监控模型
分布式系统监控的主要任务是监控网络内的所有设备,并根据所采集的设备信息,采用智能的诊断方法,准确而又及时地判断可能产生的设备故障,给出设备故障描述和快速排除故障的策略。
2.1分布式系统监控模型的各组成部分
如图1所示,整个系统监控由两部分组成:监控管理站和被监控站。基于分布式的系统监控采用了两级故障诊断结构,即高级诊断部分与低级诊断部分,诊断的粒度可以达到网络中的具体设备,如计算机、网络交换机、路由器等,完成整个域内系统监控任务的设备则由具有监控能力的计算机承担,从而形成一个分层次的系统监控与诊断的体系结构。
(1)被监控站系统组成
被监控站由设备数据采集模块、SNMP Agent模块、低级故障诊断模块、MAEE组成。设备数据采集模块采用专用的数据采集设备。SNMP Agent模块则从网络中支持SNMP协议的网络设备共同维持的MIB中获取这些设备及网络状况等的状态信息。低级故障诊断模块是被监控站与维护人员的接口,它对采集来的数据进行预处理,对于一些比较容易诊断的故障,给出故障提示,并指导维护人员修复故障。MAEE是移动Agent执行环境,为移动代理提供各种功能支持,包括创建、运行、传送、接收和保护等,它为执行移动代理创造一个位置透明、便于控制、安全可靠的运行环境。

图1 基于移动Agent的系统监控模型示意图
被监控站的代理由移动代理MA(Mobile Agent)和常驻代理SA(stationary Agent)组成。SA可以自己激活,也可以由监控管理站的管理站代理MSA激活,它常驻被监控站,不能移动。它的主要任务是从设备数据采集模块和SNMP Agent中获取采集数据,将这些数据交给低级诊断模块进行诊断,同时还要准备与MA交换数据。MA由监控管理站的MSA产生,并被派发或迁移到各个被监控站,它携带了MSA指示,并从SA中获取采集数据。
(2)监控管理站系统组成
监控管理站由一个故障诊断专家系统组成。专家系统是根据人们长期的实践经验和大量的故障信息设计的一套智能计算机程序,用于解决复杂系统的故障诊断问题。整个故障诊断专家系统由一个高级故障诊断专家系统、知识库、本地信息采集模块、MAEE组成。其中高级故障诊断专家系统相当于专家系统中的推理机,此外还对整个域内故障诊断系统进行协调和管理,并实现了用户接口。本地信息采集模块提供了与本计算机相连的设备的数据采集功能。MAEE中的MSA负责激活被监控站的SA,产生和派发MA。数据预处理模块是MAEE与高级诊断专家系统之间的接口,它能够对数据进行缓冲,以协调双方的数据同步。
2.2分布式系统监控模型的具体工作流程
首先,高级故障诊断专家系统定时地或根据用户的指示经过MAEE的数据预处理模块向MSA发出指令,MSA根据指令的要求,确定移动Agent的任务,同时激活各被监控站的SA。接着产生MA,并按事先约定好的迁移路径派发出去。在被监控站,SA一旦被激活就开始采集数据,当MA到达后,SA将MA的指令和数据一并交给低级故障诊断模块,该模块根据指令的要求去除冗余数据,并进行故障诊断,将诊断结果和诊断不了的数据经SA交给MA。MA继续根据迁移路径迁移到下一个被监控站或返回到时监控管理站。最后,在监控管理站,MA返回后,将采集到的数据和部分诊断结果经数据预处理模块交给高级诊断专家系统处理,专家系统运行推理机,并根据知识库中的数据进行分析,给出正确的诊断结果。
3 优势分析
3.1利用移动代理进行故障定位
如果MA在巡游路径上发现有节点不可达,就向管理站发出信息,通知管理站有异常。因为本站之前的各站都是可达的,所以只要问题出在后端,管理站仍可以收到该消息。就算问题出在前端,此移动代理丢失,在下一次巡游中也可以定位故障发生源。管理站知道发生问题后,就利用移动代理来定位故障。
3.2对网络中数据流量的分析
传统的客户/服务方式要完成一次系统故障诊断需依次向各个客户机发出请求,系统数据流量的计算公式为:
其中,Ncs表示集中式系统中的数据流量,Nc表示采集设备的数据量,Nsnnp表示一次SNMP请求发出和响应的数据量,m表示系统中参与系统监控的计算机数量,n表示完成一轮系统监控共发送了n次SNMP请求。
基于移动Agent的系统监控在本地处理所有采集设备的数据和SNMP的数据,减少了网络上的数据流量。其数据量计算公式为:
其中,Nagent表示基于移动Agent的系统的数据流量,Ndi表示本地系统不能处理的数据,Nsi表示本地系统已处理的数据结果,Nma表示移动Agent的本身的数据量,m同公式(1)。
从以上两式的对比中可以看出,Nma只是移动Agent的代码部分,代码相对于采集的数据来说是非常少的。
3.3对系统监控中时延的分析
传统的集中式的系统监控采用轮询的方式,整个系统的时延见公式(3):
Tes=mTc+n(Ts+Tr)
(3)其中,Tcs表示集中式系统监控时的时延,Tc每次设备数据采集所需时间,Ts和Tr分别表示一次数据SNMP请求和响应的时延,m、n同公式(1)中的定义。
而在基于移动Agent的系统监控系统中,由于预先激活常驻代理SA,各被监控站处于实时状态,移动代理MA在巡游进程中可以直接从SA中获取数据,节省了等待数据采集的时延。时延的计算公式为:
Tagent=(m-1)(Tms+Tma)
(4)其中,Tagent表示利用移动Agent进行系统监控时的时延,T。是SA向MA传送数据及MA处理数据的时间,Tma为每个MA迁移的时延,m同公式(1)。
从以上两个式子可以看出,Tc是一个很耗时的量,而在移动Agent环境中设备数据采集是由SA在本地完成的,不存在Tc这个时延,从而大幅度减少了整个系统的时延。
4 结束语
经过以上分析可以看出:这种基于移动Agent的分布式系统监控模型,明显地降低了网络流量,减少了数据传递的时延,从而增强了整个监控系统的实时性。基于人工智能专家系统的诊断算法,也提高了故障诊断的准确性。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。