(计算机应用技术专业论文)基于jmx技术对分布式应用系统进行监控的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于jmx技术对分布式应用系统进行监控的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于jmx技术对分布式应用系统进行监控的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于jmx技术对分布式应用系统进行监控的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于jmx技术对分布式应用系统进行监控的设计与实现.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于jmx技术对分布式应用系统进行监控的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 当今人们生活在信息时代,企业、政府和其它机构不同程度的采用了各种 业务应用系统。这些系统庞大而复杂,其构建需要成熟技术的支持。j 2 e e 技术 是目前构建企业级应用的一种主流技术,因其平台独立、易用、健壮等特性倍 受欢迎。j 2 e e 架构允许复杂的分布式应用部署,此时,一个标准的应用管理机 制用来更好地管理和监控这些应用的需求也日益迫切。 j m x 技术致力于解决分布式系统的管理问题,它把各种被管理资源抽象成 可被其管理的对象,可管理对象是j m x 应用程序的核心。本文基于j m x 技术设 计和实现了一个分布式应用系统监控系统。本文首先介绍了监控系统相关的 j m x 、l 0 9 4 j ,s n m p 代理以及x m ,等技术,然后介绍系统的架构和实现。 本文设计的监控系统能针对分布式l p 网络进行有效资源管理。它采用b s 结构,使用户可以从任何地方通过w e b 浏览器对资源和服务实施应变式管理和 控制;它以一种直观的图形格式提供准确、深层次的网络设备和连接视图,有 助于计算机系统管理员评价网络性能,抢在网络和计算机应用系统故障之前采 取措施。总之,通过该监控系统对资源和服务的j l ;i 控能预测网络和计算机应用 系统发展或调整的影响,保证了网络和计算机应用系统连续可靠地工作,增强 了网络和计算机应用系统的可用性和可靠性,因此很大程度上在人员维护方面 也节省了大量的财力和物力。 关键词计算机监控;j 2 e e ;j m x :s n m p 代理 北京丁业大学丁学硕士学位论文 a b s t r a c t t o d a y h u m a n b e i n g s a r e 1 l y i n g i ni n f o r m a t i o n a g e e n t e r p r is e s , g o v e r n m e n ta n do t h e r o r g a n i z a t i o n sh a v ea d o p t e dd i f f e r e n tk i n d so f b u s i n e s sa p p l i c a t i o n s ,w h i c ha r el a r g ea n dc o m p l e xa n dn e e d ss u p p o r to f c o 【p r c h e n s i v et e c h n o l o g i e st ob u il d j 2 e ei sam a j o rt e c h n o l o g yt ob u i1d b u s i h e s sa p p l i c a t i o n s ,w h i c ha r ev e r yp o p u l a rb e c a u s eo fjt sa d v a n t a g e s s u c ha sp l a t f o r mi n d e p e n d e n c e 、e a s i n e s sa n dr o b u s t n e s s j 2 e ee n a b l e s c o m p l e x d is t r i b u t e d d e p l o y m e n t o f a p p l i c a t i o n s t h u s ,a s t a n d a r d m a n a g e m e n tm e c h a n i s mi sn e e d e dt om a n a g ea n dm o n i t o rt h ea p p l i c a t i o n s j m xf o c u so nt h em a n a g e m e n to fd i s t r i b u t e ds y s t e m s i ta b s t r a c t st h e r e s o u r c e st ob em a n a g e da sm a n a g e do b j e c t s ,w h i c hi st h ek e ye l e m e n t s o fj m x t h i st h e s i sp r e s e n t sam o n i t o r i n gs y s t e mb a s eo nj m x ,f i r s t ,i t i n t r o d u c e st h er e l a t e dt e c h n o l o g i e ss u c ha sj m x 、l 0 9 4 j ,s n m pp r o x ya n d x m l ,w h i c ha r ee s s e n t i a lt ot h em o n i t o r i n gs y s t e m ,a n dt h e ni td e s c r ib e s t h ea r c h i t e c t u r ea n d i m p l e m e n t a t i o no ft h em o n i t o r i n gs y s t e m t h i s s y s t e mp r o p o s e d c a n m a n a g e r e s o u r c e s e f f e c t i r e l yt h r o u g h d is t r i b u t e di pn e t w o r k t h eb sa r c h i t e c t u r ea d o p t e de n a b l e su s e r st o m o n i t o rr e s o u r c e sa n ds e r v i c e st h r o u g hw e bb r o w s e rf r o ma n y w h e r e :a g r a p h f o r m a ti su s e dt op r o v i d ea c c u r a t el e v e lv i e wo ft h en e t w o r kd e v i c e sa n d t h e i r c o n n e c t i o n s ,w h i c h c o n t r i b u t e st ot h ee v a l u a t i o no ft h e p e r f o r m a n c e o ft h en e t w o r ka n dt h et a k i n go fm e a s u r e sb e f o f e s y s t e m f a i1u r e s i naw o r d ,b ym o n i t o r i n gr e s o u r c e sa n d s e t v i c e s ,u s e r sc a n p r e d i c t t h ee f f e c t sc a u s e d b y t h e r e g u l a t i o n o ft h en e t w o r ko r a p p l i c a t i o n sa n dg u a r a n t e e su s a b i l i t ya n dr e l i a b i l i t yo fa p p l i c a t i o n t h u s ,m u c he x p e n s ec a nb es a v e d k e y w o r d sc o m p u t e rm o n it o ri n g :j 2 e e :n x :s ;m pp r o x y l i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中 不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大 学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签名:马乃日慧、日期:妒牛# 岁 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学 校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论 文的全部或部分内容,可以采用影印 ( 保密的论文在解密后应遵守此 签名:曼盘垫导师签名: 制手段保存论文。 日期:坦堡堑多 1 1 课题背景 第1 章绪论 随着i t 业的迅速发展,人类从人工时代进入电子时代,建立各种业务应用 系统成为人们从事各种活动的重要渠道。对于一个复杂的应用系统体系,j 2 e e 已经成为越来越多的企业开发服务应用的战略性架构。j 2 e e 架构允许复杂的分 布式应用部署,此时对一个标准企业来说,。个标准的应用管理机制用来更好 地管理和监控这些应用的需求也日益迫切。 对于系统的管理作为构建和发布应用系统的重要一部分,现有的管理体系 只是集中在系统和底层级别上提供监测和管理,掌控企业基本商务所需的能力 很有限。它们也只注重操作方面的管理问题。在系统的管理功能方面的实现, 往往使用一些特别的技术,如控制台打印、日志文件等,虽然这些技术能解决 及时之需,但不能满足企业对整个应用系统体系的复杂管理需求。而且当复杂 的应用系统集成到已有的企业环境中时,新加入的应用不能同已存在的应用一一 同被管理。 为了实现应用系统采用一种管理架构实现统一管理功能,而不是每个应用 系统的某一个技术,许多管理协议和标准陆续出台,它们之间有s n m p ,d m i , c i m w b e m 。a m i 等,每个都有一些亮点,但却没有一个是对这个问题的好方案, 因为利用这些技术,应用开发者在做应用程序的实现时非常困难。 因此需要一种基于标准的实现手段来管理应用系统,进而管理各式各样的 企业应用就成为计算机管理领域内的现实需求,j m x 的出现提供了这种可能性。 当j m x 技术被广泛地用于j 2 e e 架构中的同时,也快速地渗透入基于j 2 e e 架构 的应用程序,从而实现轻松直接地管理j 2 e e 架构的应用程序。本文所论述基于 j m x 技术对分布式应用系统进行监控的体系架构针对各种规模的计算机网络环 境,提供一套计算机系统管理解决方案,从而保证网络和计算机应用系统平稳 运行,并为系统升级提供可视化依据。 北京工业大学工学硕士学位论文 1 2 基于j m x 技术对分布式应用进行监控的的研究现状 自从s u n 发布了a m x 规范,许多大公司纷纷行动起来,实现规范或者实现 相应的基于j m x 的网络管理系统,下面列出了当前的主要实现及应用情况: ( 】) s u n 为j m x 规范了作出了相应的参考实现,并在此基础上开发了一个全 新的用于网络管理的产品j d m k ( j a v a 动态管理工具集) ,其中定义了资源的开 发过程和方法、动态j m x 代理的实现、远程管理应用的实现。同时,j d m k 也提 供了一个完整的体系结构用来构造分布式的网络管理系统,并提供了多种协议 适配器和连接器,如s n m p 协议适配器、h t m l 协议适配器、h t t p 连接器、r m i 连接器。 ( 2 ) i b mt i v o l i 实现了j m x 规范的产品为t i r o l i j m x ,它为j a v a 管理应用 程序和网络提供了架构、设训+ 模式、一些a p i 接口和一些服务。3 。 ( 3 ) a d v e n t n e t 开发的关于j m x 的管理产品为a d v e n t n e ta g e n tt o o l k i t , 它使得定义新的s n m pm i b 、开发j m x 和j a v as n m pa g e n t 的过程自动化。 ( 4 ) j s o s s 实现的j 2 e e 应用服务器以j m x 为微内核,各个模块以管理构件的 形式提供相应的服务“1 。 ( 5 ) b e a 的w e b l o g i c 应用服务器也将j m x 技术作为自己的管理基础5 3 。 ( 6 ) 金蝶的a p u s i c 也是一个以j m x 为内核开发出的j 2 e e 应用服务器。1 。 1 3 基于j m x 技术对分布式应用进行监控的应用领域 基于j m x 技术对分布式应用系统进行监控的应用领域就目前来看,都是相 对于特定的一些应用系统量身定制的。本文所讨论的对分布式应用系统的监控 是应用j m x 技术设计一套独立的监控系统,这套系统可以根据具体的分布式业 务系统需求定制监控对象。 本套监控体系架构是按照国际规范、基于企业级需求设计的一套面向计算 机系统的综合管理架构,可以满足大型和小型系统的需要。该架构采用j m x 技 术、s n m p 协议标准和其他一些相关技术,采用方便简单、随处可得的w e b 技术, 将i n t e r n e t 、j a v a 、x m l 等先进技术熔入其中,针对各种规模的计算机网络环 2 第1 覃绪论 境,提供可扩展的全面、分布式系统解决方案,从而确保关键业务系统的可用 性和提供快速的问题解决方案,监视系统的运行状况以及收集性能数据。 i n t e r n e t 应用的普及、电子商务的兴起以及国内信息化建设的深入,有效 的推动了i t 技术的应用和发展。监控系统的实现在分布式系统中发挥越来越大 的作用。 1 4 本课题的主要研究内容 1 4 1p o i | e r 定义 本文中的p o l l e r 是针对各种监控对象设计的一些模块,可以看作是插件, 是根据m b e a n 的规范封装成的模块。这些模块的主要功能是实现对监控对象的 监控作用。用户应用p o l l e r s 对应用层的应用系统进行监控,中间件层p o l l e r s 对中间件层的应用服务器和数据库系统进行监控,系统服务p o l l e r s 对系统层 的所有系统服务进行赡控,而网络监测p o l l e r s 则对网络层的底层情况进行监 控。 1 4 2 研究内容 本课题主要论述了删x 技术标准和监控系统相关的一些技术,并依赖j m x 技术分析、设计一套计算机系统监控解决方案。主要完成以下几大方面的内容: ( 1 ) 首先探讨了j m x 技术。 ( 2 ) 介绍了系统实现中应用到的其他技术,如l 0 9 4 j ,x m l ,s n m p 技术等。 ( 4 ) 将系统的监控对象进行分类。 ( 5 ) 详细阐述了监控系统实现的功能。 ( 6 ) 绘制了系统的总体架构和分层架构,以及各种监控对象所采用的监控架 构。 ( 7 ) 最后给出了基于j m x 架构监控系统的具体实现。 该方案完全采用面向对象技术实现分层监控,可以将监控对象由底层的系 北京工业大学工学硕士学位论文 统层扩展到中层的中间件层和高层的应用系统层。这样不仅可以实时地监测系 统底层硬件的运行情况,还可以实时地监测用户的应用程序运行状况,并设计 有强大的报告功能、集中报警和事件管理技术,可以使运行中出现的问题最快 得到解决。 4 第2 章j m x 规范 第2 章j m x 规范 本文所论述的对分布式应用系统进行监控的思想以j m x 技术为基础,因此 我们需要掌握对j m x 技术的应用。本章主要介绍s u n 公司定义的j m x 的规范。 2 1j m x 概述 j m x j a v am a n a g e m e n te x t e n s i o n s ,即j a v a 管理扩展,是一套标准的代 理和服务,是一个为应用程序、设备、系统等植入管理功能的框架。它致力于 解决分布式系统管理的问题,因此,能够适合于各种不同的环境是非常重要的。 为了能够利用功能强大的j a v a 计算环境解决这一的问题,s u n 公司扩充了j a v a 基础类库,开发了专用的管理类库。 它是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一系 列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝 集成的系统、网络和服务管理应用。它提供了用户界面指导、j a v a 类和开发集 成系统、网络及网络管理应用的规范。 管理对象是j m x 应用程序的核心。j m x 结构包括:支持j a v a 的w e b 浏览器 用户接口,管理运行模块a r m ( a d m i nr u n t i m em o d u l e ) 和应用。这三个部件之 间通过r m i ( r e m o t em e t h o di n v o c a t i o n ) 进行通信。这里需要说明的是,r m i 是使得一个j a v a 虚拟机( j v m ) 上运行的程序可以调用远程服务器上另一个j v m j 二的对象。 用户接口用来发布管理操作,这些操作可以间接的通过浏览器或通过单独 的应用程序来激发。管理运行模块用来给应用提供实例化的管理对象。它包括 a g e n t 对象接口,通知接口和被管数据接口。应用指的是那些被管设备单元。 j m x 是一个完整的网络管理应用程序开发环境,它同时提供了:厂商需要 收集的完整的特性清单,可生成资源清单表格,图形化的用户接口;访问s n m p 的网络a p i ;主机间远程过程调用;数据库访问方法。 丁m x 这一轻型的管理基础结构,价值在于对被管理资源的服务实现了抽象, 北京t 业大学1 j 学碗。卜学位论文 提供了低层的基本类集合,开发人员在保证大多数的公共管理类的完整性和一 致性的前提下,进行扩展以满足特定网络管理应用的需要。 2 2 j m x 的体系结构 j m x 体系结构分为以下四个层次,如图2 一l 图2 一lj m x 体系结构 f i g u r e2 - 1j m ) ( a r c l d t e c t u r e ( 1 ) 设备层( i n s t r u m e n t a t i o nl e v e l ) 主要定义了信息模型。在j m x 中, 各种管理对象以管理构件的形式存在,需要管理时,向m b e a n 服务器进行注册。 该层还定义了通知机制以及一些辅助元数据类。 ( 2 ) 代理层( a g e n tl e v e l ) 主要定义了各种服务以及通信模型。该层的核 心是一个m b e a n 服务器,所有的管理构件都需要向它注册,才能被管理。注册 在m b e a n 服务器上管理构件并不直接和远程应用程序进行通信,它们通过协议 适配器和连接器进行通信。而协议适配器和连接器也以管理构件的形式向m b e a n 服务器注册才能提供相应的服务。 ( 3 ) 分布服务层( d i s t r i b u t e ds e r v i c el e v e l ) 主要定义了能对代理层进 6 第2 章j r a x 规范 行操作的管理接口和构件,这样管理者就可以操作代理。然而,当前的j m x 规 范并没有给出这一层的具体规范。 ( 4 ) 附加管理协议a p i 定义的a p i 主要用来支持当前已经存在的网络管理 协议,如s n m p 、t m n 、c i m w b e m 等。 在j m x 的规范中,只详细讲述了前两部分,j m x 规范还在不断完善中。 2 2 1 设备层 该层定义了如何实现j m x 管理资源的规范。一个j m x 管理资源可以是一个 j a v a 应用、一个服务或一个设备,它们可以用j a v a 开发,或者至少能用j a v a 进行包装,并且能被置入j m x 框架中,从而成为j m x 的一个管理构件( m a n a g e d b e a n ) ,简称m b e a n 。管理构件可以是标准的,也可以是动态的,标准的管理构 件遵从j a v a b e a n s 构件的设计模式;动态的管理构件遵从特定的接口,提供了 更大的灵活性。该层还定义了通知机制以及实现管理构件的辅助元数据类。 2 2 1 1 管理构件( m b e a n ) 在j m x 规范中,管理构件定义如下:它是一个能代表管理资源的j a v a 对象, 遵从一定的设计模式,还需实现该规范定义的特定的接口。既管理构件可以是 一个应用程序,一个具体的类,一个服务,甚至一个硬件。不过,所有的资源 都是由j a v a 语言开发的,非j a v a 语言丌发的资源需要提供。个j a v a 封装。该 定义保证了所有的管理构件以一种标准的方式来表示被管理资源。 管理接口就是被管理资源暴露出的一些信息,通过对这些信息的修改就能 控制被管理资源。一个管理构件的管理接口包括: ( 1 ) 能被接触的属性值。 ( 2 ) 能够执行的操作。 ( 3 ) 能发出的通知事件。 ( 4 ) 管理构件的构建器。 管理构件通过公共的方法以及遵从特定的设计模式封装了属性和操作,以 便暴露给管理应用程序。例如,一个只读属性在管理构件中只有g e t 方法,既 北京工业大学工掌硕士学位论义 有g e t 又有s e t 方法表示是一个可读写的属性。 其余的j m x 的构件,例如j m x 代理提供的各种服务,也是作为一个管理构 件注册到代理中才能提供相应的服务。 j m x 对管理构件的存储位置没有任何限制,管理构件可以存储在运行j m x 代理的j a v a 虚拟机的类路径的任何位置,也可以从网络上的任何位置导入。 7 m x 定义了四种管理构件:标准、动态、开放和模型管理构件。每一种管 理构件可以根据不同的环境需要进行制定。 ( 1 ) 标准管理构件标准管理构件的设计和实现是最简单的,它们的管理接 口通过方法名来描述。标准管理构件的实现依靠一组命名规则,称之为设计模 式。这些命名规则定义了属性和操作。检查标准管理构件接口和应用设计模式 的过程被称为内省( i n t r o s p e c t i o n ) 。j m x 代理通过内省来查看每一个注册在 m g e a n 服务器上的管理构件的方法和超类,看它是否遵从一定设计模式,决定 它是否代表了一个管理构件,并辨认出它的属性和操作。 ( 2 ) 动态管理构件动态管理构件提供了更大的灵活性,它可以在运行期暴 露自己的管理接口。它的实现是通过实现一个特定的接口o y n a m i c m b e a n ,如图 2 2 : 图2 - 2d y n a m i c m b e a n 接口 f i g u r e2 - 2d y n a m i c m b e a n i n t e r f a c e j m x 代理通过g e t m b e a n l n f o 方法来获取该动态管理构件暴露的管理接口, 该方法返回的对象是m b e a n l n f o 类的实例,包含了属性和操作的签名。由于该 方法的调用是发生在动态管理构件向m b e a n 服务器注册以后,因此管理接口是 在运行期获取的。不同于标准管理构件,j m x 代理不需要通过内省机制来确定 窟 第2 章j i n x 规范 动态管理构件的管理接口。由于d y n a m i e m b e a n 的接口是不变的,因此可以屏蔽 实现细节。由于这种在运行期获取管理接口的特性,动态管理构件提供了更大 的灵活性。 ( 3 ) 开放管理构件开放管理构件是一种专门化的动态管理构件,其中所有 的与该管理构件相关的参数、返回类型和属性都围绕一组预定义的数据类型 ( s t r i n g 、i n t e g e r 、f l o a t 等) 来建立,并且通过一组特定的接l j 来进行自我 描述。j m x 代理通过获得一个o p e n m b e a n i n f o 对象来获取开放管理构件的管理 接口,o p e n m b e a n i n f o 是m b e a n l n f o 的子类。 ( 4 ) 模型管理构件模型管理构件也是一种专门化的动态管理构件。它是预 制的、通用的和动念的m b e a n 类,已经包含了所有必要缺省行为的实现,并允 许在运行时添加或覆盖需要定制的那些实现。j m x 规范规定该类必须实现为 j a v a x m a n a g e m e n t m o d e l m b e a n r e q u i r e d m o d e l m b e a n ,管理者要做的就是实例 化该类,并配置该构件的默认行为并注册到j m x 代理中,即可实现对资源的管 理。j m x 代理通过获得一个m o d e l m b e a n i n f o 对象来获取管理接口。模型管理 构件具有以下新的特点: 1 ) 持久性:定义持久机制,利用j a v a 序列化或j d b c 存储模型m b e a n 状态。 2 ) 通知和日志功能:记录每个发出的通知,并自动发出属性变化通知。 3 ) 属性值缓存:具有缓存属性值的能力。 2 2 1 2 通知模型 一个管理构件提供的管理接口允许代理对其管理资源进行控制和配置。然 而,对管理复杂的分布式系统来说,这些接口只是提供了一部分功能。通常, 管理应用程序需要对状态变化或者当特别情况发生变化时作出反映。 为此,j m x 定义了通知模型。通知模型仅仅涉及了在同一个j m x 代理中的 管理构件之间的事件传播。j m x 通知模型依靠以下几个部分: ( 1 ) n o t i f i c a t i o n 一个通用的事件类型,该类标识事件的类型,可以被直 接使用,也可以根据传递的事件的需要而被扩展。 ( 2 ) n o t i f i c a t i o n l i s t e n e r 接口接受通知的对象需实现此接口。 9 北京工业人学工学硕士学位论义 ( 3 ) n o t i f i c a t i o n f i l t e r 接口作为通知过滤器的对象需实现此接口,为通 知监听者提供了一个过滤通知的过滤器。 ( 4 ) n o t i f i c a t i o n b r o a d c a s t e r 接口通知发送者需实现此接口,浚接口允 许希望得到通知的监听者注册。 发送一个通用类型的通知,任何一个监听者都会得到该通知。因此,监听 者需提供过滤器来选择所需要接受的通知。 任何类型的管理构件,标准的或动态的,都可以作为一个通知发送者,也 可以作为一个通知监听者,或两者都是。 22 1 3 辅助元数据类( m b e a n ) 辅助元数据类用来描述管理构件。辅助元数据类不仅被用来内省标准管理 构件,也被动态管理构件用来进行自我描述。这些类根据属性、操作、构建器 和通告描述了管理接口。j m x 代理通过这些元数据类管理所有管理构件,而不 管这些管理构件的类型。 部分辅助元类如下: ( 1 ) m b e a n i n f o 包含了属性、操作、构建器和通知的信息。 ( 2 ) 鼢e a n f e a t u r e l n f o 为下面类的超类。 ( 3 ) m b e a n a r t r i b u t e l n f o 用来描述管理构件中的属性。 ( 4 ) m b e a n c o n s t r u c t o r l n f o 用来描述管理构件中的构建器。 ( 5 ) m b e a n o p e r a t i o n l n f o 用束描述管理构件中的操作。 ( 6 ) m b e a n p a r a m e t e r i n f o 用来描述管理构件操作或构建器的参数。 ( 7 ) m b e a n n o t i f i c a t i o n l n f o 用来描述管理构件发出的通知。 2 2 2 代理层 代理层是一个运行在j a v a 虚拟机上的管理实体,它活跃在管理资源和管理 者之间,用来直接管理资源,并使这些资源可以被远程的管理程序所控制。代 理层由一个m b e a n 服务器和一系列处理被管理资源的服务所组成。图2 - 3 表示 了代理层的组成: a g e n ts i d e 口j m xm a n a g e d e s o u c em b e a n 2 2 2 1 m b e a n 服务器 图2 - 3 代理层架构 f i g u r e 2 - 3a g e n ta r c h i t e c t u r e m b e a n 服务器为代理层的核心,设备层的所有管理构件都在其注册,管理 者只用通过它才能访问管理构件。管理构件可以通过另一个管理构件、管理代 理本身、远程应用程序三种方法实例化和注册。 注册一个管理构件时,必须提供一个唯一的对象名。管理应用程序用这个 对象名进行标识管理构件并对其操作。这些操作包括: ( 1 ) 发现管理构件的管理接口。 ( 2 ) 读写属性值。 ( 3 ) 执行管理构件中定义的操作。 ( 4 ) 获得管理构件发出的通告。 ( 5 ) 基于对象名和属性值来查询管理构件。 2 2 2 2 协议适配器和连接器 m b e a n 服务器依赖于协议适配器和连接器来和运行该代理的j a v a 虚拟机之 外的管理应用程序进行通信。协议适配器通过特定的协议提供了一张注册在 m b e a n 服务器的管理构件的视图。例如,一个h t m l 适配器可以将所有注册过的 1 1 北京 业大学工学硕士学位论文 管理构件显示在w e b 页面上。不同的| 办议,提供不同的视图。 连接器还必须提供管理应用一方的接口以使代理和管理应用程序进行通 信,即针对不同的协议,连接器必须提供同样的远程接口来封装通信过程。当 远程应用程序使用这个接口时,就可以通过网络透明的和代理进行交互,而忽 略协议本身。 适配器和连接器使m b e a n 服务器与管理应用程序能进行通信。因此,一个 代理要被管理,它必须提供至少一个协议适配器或者连接器。面临多种管理应 用时,代理可以包含各种不同的协议适配器和连接器。当前已经实现和将要实 现的协议适配器和连接器包括:r m i 连接器、s n m p 协议适配器、i i o p 协议适配 器、h t m l 协议适配器、 f f t p 连接器。 2 2 2 3 代理服务 代理服务可以对注册的管理构件执行管理功能。通过引入智能管理,j m x 可以帮助我们建立强有力的管理解决方案。代理服务本身也是作为管理构件而 存在,也可以被m b e a n 服务器控制。 j m x 规范定义了代理服务有: ( 1 ) 动态类装载通过管理小程序服务可以获得并实例化新的类,还可以使 位于网络上的类库本地化。 动态类装载是通过m l e t ( m a n a g e m e n ta p p l e t ) 服务来实现的,它可以从 网络上的任何u r l 处下载并实例化管理构件,然后向m b e a n 服务器注册。在一 个m - l e t 服务过程中,首先是下载一个m l e t 文本文件,该文件是x m l 格式的 文件,文件的内容标识了管理构件的所有信息,比如构件名称、在m b e a n 服务 器中唯一标识该构件的对象名等。然后根据这个文件的内容,m l e t 服务完成 剩余的任务。如图2 4 展示这一过程: ( 2 ) 监视服务监视管理构件的属性值变化,并将这些变化通知给所有的监 听者。 通过使用监视服务,管理构件的属性值就会被定期监视,从而保证始终处 于个特定的范围。当监视的属性值的变化超出了预期定义的范围,一个特定 的通告就会发出。j m x 规范当前规定了三种监视器: 1 2 i 五二。五i 二二三一一一一? h t t p ,”n d i s t l k 博 叮 艘ioq嘲6codeib,eanjars。,object1 l a r c h i 、e yi x mfi 扣删l e t i 卜 t 3 。垢厂 _ 犀丽酌 图2 - 4ml e t 服务的操作 f i g u r e 2 - 4m l e ts e r v i c eo p e r a t i o n 1 ) 计数器监视器监视计数器类型的属性值,通常为整型,且只能按一定 规律递增。 2 ) 度量监视器监视度量类型的属性值,通常为实数,值能增能减。 3 ) 字符串监视器监视字符串类型的属性值。 每一个监视器都是作为一个标准管理构件存在的,需要提供服务时,可以 由相应的管理构件或远程管理应用程序动态创建并配嚣注册使用。如图2 5 为 计数器监视器的使用情况: c o m p a l e v e l m t h r e s h 0 1 d 图2 5 计数监视的操作 f i g u r e2 - 5c o u n t m o n i t o ro p e r a t e 1 3 睁 。= 溅一 篆 一口 北京工业大学工学硕上学位论义 ( 3 ) 时问服务定时发送一个消息或作为个调度器使用。 时间服务可以在制定的时间和日期发出通告,也可以定期的周期性的发出 通告,依赖于管理应用程序的配置。时间服务也是一个管理构件,它能帮助管 理应用程序建立一个可配置的备忘录,从而实现智能管理服务。 ( 4 ) 关系服务定义并维持管理构件之间的相互关系。 j m x 规范定义了管理构件之间的关系模型。一个关系是用户定义的管理构 件之问的n 维联系。关系模型定义如下一些术语: 1 ) 角色就是是一个关系中的一类成员身份,它含有一个角色值。 2 ) 角色信息描述一个关系中的一个角色。 3 ) 关系类型由角色信息组成,作为创建和维持关系的模板。 4 ) 关系管理构件之间的当前联系,且必须满足一个关系类型的要求。 5 ) 角色值在一个关系中当前能满足给定角色的管理构件的列表。 6 ) 关系服务是一个管理构件,能接触和维持所有关系类型和关系实例之 间的一致性。 在关系服务中,管理构件之间的关系由通过关系类型确定的关系实例来维 护。仅仅只有注册到m b e a n 服务器上并且能被对象名标识的管理构件才。能成为 个关系的成员。关系服务从来就不直接操作它的成员管理构件,为了方便 查找它仅仅提供了对象名。 关系服务能锁定不合理关系类型的创建,同样,不合理的关系的创建也会 被锁定。角色值的修正也要遵守致性检查。 由于关系是定义在注册的管理构件之间的联系,所以当其中的管理构件卸 载时,就会更改关系。关系服务会自动更改角色值。所有对关系实例的操作比 如创建、更新、删除等都会使关系服务发出通告,通告会提供有关这次操作的 信息。 j m x 关系模型只能保证所有的管理构件满足它的设计角色,也就是说,不 允许一个管理构件同时出现在许多关系中。 2 2 3 分布服务层 4 弟2 草j m x 规甄 当前,s u n 并没有给出这一层的具体规范,下面给出的只是一个简要描述。 该层规定了实现j m x 应用管理平台的接口。这一层定义了能对代理层进行 操作的管理接口和组件。这些组件能: ( 1 ) 为管理应用程序提供一个接口,以便它通过一个连接器能透明和代理层 或者j m x 管理资源进行交互。 ( 2 ) 通过各种协议的映射( 如s n m p 、h t m l 等) ,提供了一个j m x 代理和 所有可管理组件的视图。 ( 3 ) 分布管理信息,以便构造一个分布式系统,也就是将高层管理平台的管 理信息向其下众多的i m x 代理发布。 ( 4 ) 收集多个j m x 代理端的管理信息并根据管理终端用户的需要筛选用户 感兴趣的信息并形成逻辑视图送给相应的终端用户。 ( 5 ) 提供了安全保证。通过管理应用层和另一管理代理和以及他的设备层 的联合,就可以为我们提供一个完整的网络管理的解决方案”“。这个解决方案 为我们带来了独一无二的一些优点:轻便、根据需要部署、动态服务、还有安 全性。 2 2 4 附加管理协议a p 浚层提供了一些a p i 来支持当前已经存在的一些管理协议。 这些附加的协议a p i 并没有定义管理应用的功能,或者管理平台的体系结 构,他们仅仅定义了标准的j a v aa p i 和现存的网络管理技术通信,例如s n m p 。 网络管理平台和应用的开发者可以用这些a p i 来和他们的管理环境进行交 互,并将这个交互过程封装在一个j m x 管理资源中。例如,通过s n m p 可以对一 个运行有s n m p 代理的交换机进行管理,并将这些管理接口封装成为一个管理构 件。在动态网络管理中,可以随时更换这些管理构件以适应需求。 这些a p i 可以帮组开发者根据最通常的工业标准来部署他们的管理平台和 应用。新的网路管理的解决方案可以和现存的基础结构合为一体,这样,现存 的网络管理也能很好的利用基于j a v a 技术的网络管理应用。 这些a p i 目前在j c p ( j a v ac o m m u n i t yp r o c e s s ) 内作为独立的j s r ( j a v a 1 5 北京:_ :【= 业大学丁二学硕士学位论文 s p e c i f i c a t i o nr e q u e s t ) 开发。他们包括: ( 1 ) s n m pm a n a g e ra p i 。 ( 2 ) c i m w b e mm a n a g e fa n dp r o t o c o la p i 。 2 3j m x 的好处 ( 1 ) 可以非常容易的使应用程序具有被管理的功能。 ( 2 ) 提供具有高度伸缩性的架构。 ( 3 ) 每个j m xa g e n t 服务可以很容易的放入到a g e n t 中,每个j m x 的实现都 提供几个核心的a g e n t 服务,也可以自己编写服务,服务可以很容易的 部署,取消部署。 ( 4 ) 集成了现有的一些管理解决方案,如w b e m ,s n m p ,t m n 。 ( 5 ) 主要提供接口,允许有不同的实现。 ( 6 ) 减少对j a v a 应用实施管理的投资。 ( 7 ) 使用现有的标准j a v a 技术。 ( 8 ) 能使用末来的一些管理概念:如j i n i 连接技术、通用即插即用、服务 定位协议( s e r v i c el o c a t i o np r o t o c 0 1 ) “。 2 ,4 本章小结 本文详细介绍了j m x 规范。j m x 体系结构分为三层,即设备层、代理层、 分布服务层。但s u n 当前只实现了前两层的具体规范,其余的规范还在制定当 中。j m x 代理要和远程应用程序通信,需要提供至少一个连接器和协议适配器。 6 第3 章监控系统应用的相关技术 第二章我们介绍了监控系统所应用到的主要技术j m x 进行详尽的介绍,这 一章我们就此套监控系统所应用到的其他的相关技术作一一简要介绍。应用到 的其他相关技术主要有l 0 9 4 j 技术,s n m p 技术,x m i 。技术等。 3 ,1 l 0 9 4 j 技术 l 0 9 4 j 是a p a c h e 软件基金会j a k a r t a 项目下的一个子项目,是用j a v a 编写的优秀臼志工具包。通过l 0 9 4 j 可以在不修改代码的情况下,方便、灵 活地控制任意粒度的目志信息的开启或关闭,然后使用定制的格式,把同志 信息输出到一个或多个需要的地方。在本文中,它起到很重要的作用。 l 0 9 4 j 有三个主要部件,它们是记录器( l o g g e r s ) 、输出源( a p p e n d e r s ) 和布局( l o g o u t s ) 。记录器按照布局中指定的格式把日志信息写入个或多 个输出源。输出源可以是控制台、文本文件、x m l 文件或s o c k e t ,甚至还可 以把信息写入到w i n d o w s 事件日志或通过电子邮件发送,这都需要相应的类 来处理,这些相关的类是c o n s o l e a p p e n d e r 、f i l e a p p e n d e r 、s o c k e t a p p e n d e r 、 n t e v e n t l o g a p p e n d e r 和j m s a p p e n d e r 。 3 ,1 1 记录器 与s y s t e m o u t p r i n t l n 方式输出调试信息相比,一个专门的只志控制工 具( 1 0 9 9 i n g a p i ) 的最重要优点在于它能够在适当的时候关闭一些调试信息输 出以不影响其他入的调试。这种能力的实现决定于程序开发人员能够根据一 定的标准对这些l o g g i n g 信息进行分类。 基于以上原则,o r g a p a c h e 1 0 9 c a t e g o r y 类实现了整个l 0 9 4 j 包的 核心,调试信息被根据一般开发人员的习惯进行了分类并命名。和j a v a 开发 包的分类规则类似,比如,命名为c o m f o o 的c a t e g o r y 是被命名为 c o m f o o b a r 的c a t e g o r y 的p a r e n t 就象我们习惯的j a v a 是j a v a u t i l 的 p a r e n t ,并且是j a v a u t i l v e c t o r 的a n c e s t o r 一样。 最i 二层的c a t e g o r y 被称为根( r o o tc a t e g o r y ) ,根c a t e g o r y 有两个特点: 北京工业大学i 学硕上学位论文 ( 1 ) 它总是存在。 ( 2 ) 它的名字不能被直接得到。 在c a t e g o r y 类罩面,我们通过g e t r o o t0 方法得到r o o tc a t e g o r y 。而 静态方法g e t i n s t a n c e0 实例化所有其他的c a t e g o r y g e t l n s t a n c e0 通过调 用时传递的叁数得到该被实例化的c a t e g o r y 的实例名。我们可以通过 o r g a p a c h e 1 0 9 4 j p r i o r i t y 类中的s e t 方法定义一个c a t e g o r y 的优先级。 但l 0 9 4 j 仅鼓励使用以下的四个优先级别:e r r o r ,w a r n ,i n f o 和d e b u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论