(计算机科学与技术专业论文)分布式系统应用程序监控的研究与实现.pdf_第1页
(计算机科学与技术专业论文)分布式系统应用程序监控的研究与实现.pdf_第2页
(计算机科学与技术专业论文)分布式系统应用程序监控的研究与实现.pdf_第3页
(计算机科学与技术专业论文)分布式系统应用程序监控的研究与实现.pdf_第4页
(计算机科学与技术专业论文)分布式系统应用程序监控的研究与实现.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

i一嗣臀瑾上 独创性声明 i丫iiiitlllilil7llll8lflfll8ljllf5llilll3ljlljl8lllf 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:至毖导师签名:日期l 迦! 鲤:参:垒 摘要 摘要 随着分布式系统的广泛应用,系统的性能问题面临巨大的挑战,分布式系统 的监控和管理日益成为分布式系统生命周期的重要一环,其中对于系统复杂业务 应用程序运行时状态的监控更显得尤为关键。 j m x ( j a v am a n a g e m e n te x t e n s i o n ) 管理框架的提出为开发分布式系统的监控 功能提供了基本架构和理论标准。a s m 是一个j a v a 字节码操作框架,具有良好 的性能,能够在不改变应用程序源代码的情况下,在字节码级为应用程序增加性 能监测功能。结合以上两项技术,设计并实现了分布式应用程序的监控系统,并 成功将该方案无缝集成到已开发的分布式系统中。 本文首先对国内外的性能监控领域的发展现状进行了分析和比较,重点探讨 了基于j m x 的监控开源产品的优势和劣势,接着对j m x 规范和其核心技术,对 j m x 的三层结构进行了全面的分析。然后,重点研究了对应用程序监控的各种 技术,对本文要设计的监控方案的理论基础进行了深刻的研究。 本文设计的应用程序监控的系统采用j m x 的基本框架开发,采用a s m 实 现了应用程序的字节码修改,加入了性能监测功能,修改后的类文件加载到虚拟 机中。将采集到的性能数据封装为j m x 的可管理组件m b e a n ,然后利用j m x 的r m i 连接器实现b s 结构远程管理监控数据,使得监控数据能够持久化存储, 通过w e b 页面能够方便监控远程的分布式系统的运行情况。 利用项目“中央广播电视大学远程教务管理系统”做结果验证和性能分析, 分析结果表明,该监控方案能实现大型分布式系统中的复杂业务应用程序运行时 的监控功能,具有良好的性能和扩展性。 关键词分布式系统应用程序;j m x ;a s m ;监控应用 北京下业大学工学硕= i 二学位论文 a b s t r a c t a b s t r a c t w i t ht h ew i d e s p r e a du s eo fd i s t r i b u t e ds y s t e m ,t h ep e r f o r m a n c eo fw h i c hi s f a c i n gag r e a tc h a l l e n g e i ti s a ni n c r e a s i n g l yi m p o r t a n tp a r to ft h el i f e c y c l eo fi tt o m o n i t o ra n dm a n a g et h ed i s t r i b u t e ds y s t e m a m o n gi t ,i ts e e m se s p e c i a l l yi m p o r t a n t t h a tt h er u n t i m es t a t u so fc o m p l i c a t e db u s i n e s so fs y s t e mi sm o n i t o r e d j m x ( j a v am a n a g e m e n te x t e n s i o n ) a sam a n a g e m e n tf r a m ei sp r o p o s e d ,w h i c h p r o v i d e s t h ef u n d a m e n t a la r c h i t e c t u r ea n ds t a n d a r dt h e o r y f o rd e v e l o p i n gt h e m o n i t o r i n gf u n c t i o nw i t hd i s t r i b u t e ds y s t e m a s mi s aj a v ab y t e c o d em a n i p u l a t i o n f r a m e w o r k ,w h i c hh a sg o o dp e r f o r m a n c e i tc a na d dt h ec a p a b i l i t i e so fp e r f o r m a c e m o n i t o rb a s e do nj a v ab y t e c o d ef o ra p p l i c a t i o nw i t h o u tm o d i f y i n gt h es o u r c ec o d e c o m b i n i n gt h et w ot e c h n o l o g i e sa b o v e ,t h em o n i t o r i n gs y s t e mi s d e s i g n e da n d i m p l e m e n t e df o rd i s t r i b u t e da p p l i c a t i o n sa n ds u c c e s s f u l l yi n t e g r a t es e a m l e s s l yi n t o t h ed i s t r i b u t e ds y s t e mh a sd e v e l o p e d i nt h i sp a p e r , f i r s to fa l l ,d o m e s t i ca n df o r e i g nd e v e l o p m e n t si nt h ef i e l do ft h e p e r f o r m a n c em o n i t o r i n g a r ea n a l y z e da n dc o m p a r e d t h ep a p e re m p h a s e so n s t r e n g t h sa n dw e a k n e s s e so fm o n i t o r i n go p e ns o u r c ep r o d u c t sb a s e do nj m x ,a n d t h e n ,t h ej m xs p e c i f i c a t i o n ,i t sc o r et e c h n o l o g ya n dt h et h r e e t i e r s t r u c t u r ea r e c o m p r e h e s i v e l ya n a l y s e d a n df o c u so na l lk i n d so ft e c h n o l o g i e sm o n i t o r i n gt h e a p p l i c a t i o n t h et h e o r e t i c a lb a s i so ft h em o n i t o r i n gd e s i g np r o p o s e di nt h ep a p e ri s p r o f o u n d l yr e s e a r c h e d t h e p a p e rp r e s e n t sa na p p l i c a t i o nm o n i t o r i n gs y s t e mb a s e do nj m x f r a m e w o r k , a n da s m i su s e dt oa c h i e v et h es t a t i cb y t e c o d e - l e v e le n h a n c e m e n to fa p p l i c a t i o n , w h i c ha d d sap e r f o r m a n c em o n i t o r i n gf u n c t i o n t h ee n h a n c e dc l a s si sl o a d e di n t ot h e j a v av i t u a lm a c h i n e p e r f o r m a n c ed a m sc o l l e c t e da r ee n c a p s u l a t e da sm b e a n s ,t h e n j m xr m ic o n n e c t o ri su s e dt oa c h i e v er e m o t em a n a g e m e n ta n dm o n i t o r i n gd a t a so f b sa r c h i t e c t u r e t h em o n i t o r i n gs y s t e mm a k e st h ed a t a st op e r s i s t e n ts t o r a g e t h e o p e r a t i o no f r e m o t e d i s t r i b u t e ds y s t e m sc a nb ee a s i l ym o n i t o r e df r o mt h ew e bp a g e t h ec o n c l u s i o nd e m o n s t r a t i o na n dp e r f o r m a n c ea n a l y s i si sd o n ew i t ht h ec h i n a c e n t r a lr a d i oa n dt vu n i v e r s i t ya c a d e m i ca f f a i r sm a n a g e m e n ts y s t e mp r o j e c t t h e r e s u l ts h o w st h a t ,t h em o n i t o r i n gd e s i g nc a ni m p l e m e n tt h er u nt i m em o n i t o r i n g f u n c t i o no fc o m p l e xb u s i n e s si nh u g ed i s t r i b u t e ds y s t e m ,w h i c hh a sg o o dp e r f o r m a n c e a n ds e a l a b i l i t y k e y w o r d sd i s t r i b u t e ds y s t e ma p p l i c a t i o n ;j m x ;a s m ;m o n i t o r i n ga p p l i c a t i o n 1 i t 北京工业大学t 学硕十学位论文 目录 目录 摘要i a b s tr a c t i i i 第1 章绪论1 1 1课题的研究背景1 1 2 相关领域的研究现状l 1 2 1a p pi ic a tio r sm a n a g e r 2 1 2 2j b o s so p e r a tio nn e t w o r k 2 1 2 3j c o n s oie 3 1 2 4 基于j m x 的开源类监控项目的发展4 1 2 5 目前的监控管理软件存在问题4 1 3 课题的主要来源和研究内容5 1 4 论文组织6 第2 章j m x 规范及其相关技术一7 2 1j m x 概j 丕7 2 2j m x 的体系结构一7 2 2 1 设备层8 2 2 2 代理层。1 0 2 2 3 分布服务层12 2 3j m x 的通知模型1 2 2 4 本章小结1 3 第3 章监控应用的相关技术研究。1 5 3 1 修改源代码l5 3 2 代理模式15 3 3a o p 1 7 3 3 1a o p 的主要概念1 7 3 3 2a o p 的实现技术18 3 4j a v aj l n s t r u m e n t 。l 1 3 5 字节码增强技术l9 3 6 本章小结2 0 第4 章应用监控的解决方案2 l 4 1 监控系统的需求2 l 4 1 1 基于j m x 的监控系统的基础架构2 l 4 1 2d a m s 监控的主要内容2 2 4 2 监控系统的架构2 2 4 2 1 项目总体设计2 2 4 2 2 总体架构图2 3 4 3 字节码增强模块的设计与实现2 5 4 3 1a s m 及其原理2 5 4 3 2 类的生命周期2 8 4 3 3 设计与实现3l 4 4 性能监测功能模块的设计与实现3 5 v 北京工业大学工学硕:1 :学位论文 4 4 1 性能监测的目标3 5 4 4 ,2 性能监测功能模块的设计3 6 4 4 3 性能监测功能模块的实现3 8 4 5 资源封装管理的设计与实现4 0 4 5 1 m b e a n 设计与实现4 0 4 5 2 代理服务器m b e a ns e r v e r 的设计与实现4 2 4 6 传输模块的设计4 2 4 6 1 分布式对象模型和r 4 3 4 6 2r m i 服务器端连接器的设计和实现4 5 4 6 3r 川客户端连接器的设计和实现4 6 4 7 监控处理模块的设计4 7 4 7 1 模块主要类功能设计4 7 4 7 2 数据库的设计4 7 4 8 视图层的设计4 9 4 8 1 总体布局一4 9 4 8 2 基本实现5 0 4 9 本章小结5 2 第5 章监控系统的运行结果展示和陛能分析5 5 5 1 场景设置5 5 5 2 监控系统功能展示5 6 5 3 监控系统性能分析5 7 5 3 1 监控系统加载前后服务器平均启动时间的对比5 7 5 3 2 监控系统运行时的性能分析5 9 5 4 结果分析5 9 5 5 本章小结5 9 结 仑6l 参考文献6 3 攻读硕士学位期间所取得的研究成果6 7 致谢6 9 第1 章绪论 1 1 课题的研究背景 第1 章绪论 随着企业的业务扩展,应用需求不断增加,导致分布式应用系统接连涌现, 随之而来的是应用系统本身的复杂性提高,同时系统都部署在软件、硬件和网 络的复杂环境中,客户与管理人员很难对应用系统在运行过程中的情况进行实 时的有针对性掌控和追踪,所以针对分布式应用系统的监控模型及其技术成为 企业应用管理的重要工作,也成为分布式软件生命周期中越来越重要的一环【l 】。 但是对企业级应用环境的监控是非常复杂的工作,如何实现功能完善、灵 活的设计方案是目前系统管理中的一个急需解决的问题。如今企业所使用的应 用系统其中很大一部分应用和操作者、管理者的交互都需要通过w e b 完成,企 业对w e b 服务器、应用服务器、应用软件的使用要求也越来越高,但w e b 服务 器、应用服务器在运行中,却时常出现服务器宕机、内存占用高等严重问题, 造成用户使用时响应时间过长或者影响了用户的正常使用,给用户造成了很大 的不便,严重影响用户的业务使用,而运行在这些服务器上的分布式系统,由 于系统规模的不断扩大和业务的不断更新,通信开销大,数据结构复杂,并发 访问量大,经常出现系统资源的占用过量、服务超时、无法保证可靠性等情况。 在这些复杂的情况下,用户或者管理人员却不能看到实时数据信息或者运行时 情况,这对系统的正常使用造成了极大的困扰。针对以上问题,有必要设计一 个分布式应用程序的实时、全面、综合的监控解决方案。 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 管理扩展,是s u n 公司提出的 针对分布式系统管理的框架,是一个为应用程序、设备、系统等植入管理功能 的框架【2 1 。j m x 能跨越不同操作系统平台和网络传输协议,在不改变原系统的 前提下开发管理应用。目前的大型分布式系统大多都采用j a v ae e 架构,而主 流的应用服务器如j b o s s 等都采用j m x 为内核【3 】,j m x 在j a v ae e 应用架构方 面已经扮演重要的角色,已经有很多成熟产品证明采用j m x 架构实现系统的监 控具有很大的优势,所以它应该是对j a v ae e 应用程序进行管理的首选架构。 由此可以看出,实现基于j m x 的分布式系统的监控工作对分布式系统管理 有重要意义。 1 2 相关领域的研究现状 随着分布式系统的广泛应用,企业对于分布式系统复杂运行环境的监控、 北京丁业大学丁学硕七学位论文 1 1 分布式应用程序运行时状态的监控和管理需求不断增大,国内外已经在这方面 涌现了大量的监控类产品,国外在分布式系统监控方面起步早,发展快,已经 出现了很多具有代表性的企业级产品。 1 2 1 a p pi ic a tio n sm a n a g e r a p p l i c a t i o n sm a n a g e r 是卓豪( z o h o ) 公司的一款应用于企业级应用管理的解 决方案,能够实现对分布式系统及其软、硬件环境的监控工作,可以全面分析 系统的性能,实现故障管理和报警通知等功能,提供了监视和管理j a v ae e 底 层结构、j a v ae e 应用的解决方案。 a p p l i c a t i o n sm a n a g e r 监控的主要内容包括应用服务器、数据库、系统平台 管理、自定义脚本管理、服务端口监控、w e b 服务、故障处理。a p p l i c a t i o n s m a n a g e r 还能实现对数据库集群、文件服务器集群、应用服务器集群的监控。 应用服务器监控能够监控目前几乎所有的主流服务器包括w e b l o g i c 、 w e b s p h e r e 、j b o s s 等,一旦检测到这些服务器出现故障,就会向管理人员发送 通知。数据库监控功能用于监控网络中数据库的可用性和性能,对于网络中影 响数据库性能的事件,管理员就要快速诊断并解决这些问题,数据库监控能够 监控o r a c l e 、m y s q l 、s q l s e r v e r 和d b 2 等主流数据库。平台管理针对的系统 有w i n d o w s 、l i n u x 、s o l a r i s 、h pa 和f r e e b s d 提供有关系统性能和可用性 的周期性报表,其中包括c p u 、内存、磁盘利用率等性能指标。自定义脚本监 控用来管理内部特有的w i n d o w s l i n u x 自定义脚本,自定义脚本的输出将被监 控并据此生成告警,此外还将定期提供有关已配置属性的报表。a p p l i c a t i o n s m a n a g e r 提供了对a p a c h e 、i i s 等w e b 服务监控。a p p l i c a t i o n sm a n a g e r 还具有应 用告警和故障管理功能,能检测服务器故障停机和应用程序应答时问迟滞等问 题并通知管理员,这将便于管理员快速采取措施来修正这些问趔4 1 。a p p l i c a t i o n s m a n a g e r 为i t 管理人员和操作人员提供了一个简单友好的管理平台界面。 a p p l i c a t i o n sm a n a g e r 在应用程序领域的监控主要包括对服务器上的服务 ( s e r v i c e s ) 的监控,对s e s s i o n 的命中率的统计,j m s 消息,线程池,事务,s q l 执行的统计,数据库连接,表空间,缓存的命中率等的监控,对w e b 应用程序 的监控,包括s e r v l e t 、i s p 等。a p p l i c a t i o n sm a n a g e r 还能够完成对客户应用程序 的监控,这其中包括对j m x 应用的支持。 1 2 2d b o s so p e r a tio nn e t w o r k j b o s so p e r a t i o nn e t w o r k ( 以下简称j b o s s o n ) 是r e dh a t 的一个集成的中 间件管理平台,它是t u - q 开源项目的企业版p 】,拥有基于代理的监控平台,用 第1 章绪论 以简化应用的生命周期中的开发、测试、部署和监控。它的特点是:j b o s s o n 服务器通过其目录、管理和内容模块对应用进行分类、管理和维护,其监控a g e n t 模块提供了对j b o s s 中间件设施、操作系统和w e b 层的集成视图监控解决方案。 j b o s s o n 的监控内容主要为:系统平台监控、服务器监控、服务监控等。 系统平台的监控包括包括l i n u x 、w i n d o w s 、s o l a r i s 等。服务器的监控包括包括 a p a c h e 、i i s 、j b o s sa s 、j m xs e r v e r 、o r a c l es e r v e r 、m y s q ls e r v e r 、l m qa g e n t s e r v e r 、t o m c a t 等。服务的监控包括包括c p us e r v i c e 、f i l es y s t e ms e r v i c e 、 n e t w o r ka d a p t e rs e r v i c e 等。 通过j b o s s o n ,能够自动检测到受监控端的j b o s s 中间件的操作系统、应用 服务器、企业级服务信息。提供了集中控制和配置界面,可以标准化应用的部 署、管理和监控应用来提高应用程序的性能和可用性。 1 2 3j c o n s oie j e o n s o l e 全称为j a v am o n i t o r i n ga n dm a n a g e m e n t ,j a v a 管理和监控控制台, 是随着j d k5 0 而推出的,是一个基于j m x 的图形化界面工具,用于连接正在 运行的j v m ,它是j d k 自带的监控客户端图形化界面,可以监控本地或者远程 j v m 6 1 。可以监控的主要方面包括:1 线程:活动线程、守护线程、已经启动的 线程的的数目。2 c p u 的运行实现3 内存的使用情况4 操作系统信息,处理器 数目,虚拟内存大小、物理内存大小,垃圾收集器的执行时间等5 类装载信息 类的装载数目,卸载的类的总数等,它的主要界面如图1 1 所示。 i 至援 7 觥;7 谪蓉r ”褥酽了罐弘薪 7 w 一1 “ 。 缸 。”描端端端蒜端描z蒜z_ l箝每署暮 i e 常;蕈行时闻:l 触咖ej 瞪澜曼c p u 时i 霹:2 0 名4 3 秒 编i 罨赫时闻:0 6 1 1 杪 l绂差乏 l 活:渤缝程: 鹳峰:糟 l守护鲢程: 拍b 怠钧的总鼓: i i也li 当前域大d - - 4 0 , 2 0 tl 劈一百拍9 内存:臼t 6 0l a l 堆大小的蒜大值: 靶o 2 弱b l 等待垂鍪纺的对雾: o l | 魑e 辗畦殳嘉翻 :h 州嶂t 郫吵,e o l 锄1 1 l o 罅i ,f o 缸d l h 雌。p e 埘笥o j 3 9 麓争 l 垃掇燃器:扩胁呷毗龇懒咄删吨晰 装 警蟊誊类已装入:铒 t 9 2己卸索窆瓣的糠栽:0 l 己夔人类的总巍:包4 9 3 l 撩傣茬掘 l 物理内存总置:毛0 9 ,$ k b可用物理内存:,2 佝,4 轴 l 确嚏i 瑚匠蛾i 为i 譬:3 t 包2k t ; 图1 1j c o n s o l e 监控的主要内容 f i g u r e1 - 1j c o n s o l em o n i t o r e dm a i na s p e c t s 一3 北京工业大学工学硕:j 二学位论文 j c o n s o l e 有三种方式连接到一个本地或远程的j v m ,第一种是连接一个正 在本地系统运行的j v m 。第二种通过r m i 连接器连接到远程平台a g e n t 的 m b e a n 服务器。第三种是使用自己定制的连接器连接j m xa g e n t 。j c o n s o l e 连 接成功后,就可从连接的j m xa g e n t 处获得监控的信息【| 7 1 。通过简单的界面可 以获得本地j v m 或远程j v m 的内存和c p u 等基本信息。 1 2 4 基于j m x 的开源类监控项目的发展 随着j a v a 和j a v ae e 的应用成为主流,就需要一种标准同时有效的方法来 管理这些执行业务的应用系统,构建j a v a 系统运行时性能和可用性监控也显得 越来越重要。j m x ( j a v am a n a g e m e n te x t e n s i o n ) 逐渐成为了目前首选的技术框架 和规范。j m x 做为一个基于标准的管理接口,用户可以通过简单的实现就能对 已有系统加入管理功能。它的相关标准保证开发人员只用专注于公开应用管理 信息,而不考虑相关的协议规范h j 。 从j d k5 开始引入的j m xa p i ,即j a v a 1 a n g m a n a g e m e n t 包,而j d k6 又 对a p i 库进行改进,提供了更加强大和丰富的功能。j m x 的提出,让利用j d k 开发监测程序成为可能,也提供了轻量级的、标准的监测j v m 和运行中对象 的方式。在即将提出的j m x2 0 版本中将进一步发展相关标准和技术。 j m x 的优秀规范和良好的扩展性及其在性能监控领域的优势,国内外已经 出现了很多基于j m x 框架的实现产品: 1 ) j m a n a g e 是国外优秀的开源产品,是基于w e b 和命令行的j m x 客户端, 能够通过集中的控制台管理。最大的特点是支持集群和分布式应用环境下的管 理,同时兼容w e b l o g i c ,w e b s p h e r e ,j b o s s 等多款j a v ae e 服务器。 2 ) 一m x 4 j 项目是一个基于j m x 的j a v a 开放源码项目,用于创建管理软 件。它使用j m x 规范提供的标准远程管理功能和操作功能来处理和连接、管 理和监视启用了j m x 的应用程序、服务器和服务【9 j 。 誊3 ) j f o x m x 是国内第一个完整实现j m x1 2 规范的开源项目,它主要参考 “? 了国外的相关产品,对其进行优化。它的特点是工作负荷小,效率有所提高。 1 2 5 目前的监控管理软件存在问题 综观国内外的性能监控工具,无论是商业软件或开源产品,主要集中在监 控硬件的状态信息上,如服务器、操作系统环境、路由器、w e b 服务器、应用 服务器及其组件的性能参数。虽然这些工具也能够很好地监控分布式系统应用 软件,但重点还是放在应用服务器及其连接器上,忽视了分布式系统性能问题 可能产生的其他因素,考虑这些产品或开源项目,它们存在主要的问题如下: 第l 章绪论 1 ) a p p l i c a t i o n sm a n a g e r 和y o o s s o n 这些商业产品虽然功能强大,但价格过 于昂贵,而且对具体业务程序的监控支持很少 2 ) 未考虑具体的复杂软件应用业务场景造成的性能瓶颈 3 ) 未能全面深入到具体的应用软件环节 4 ) 某些工具占有较高的系统开销。 5 ) 非持久化监控,有些工具没有持久化指标供历史数据的比较和分析。数 据的缺失使得实时的监控数据对性能指标的表示和长期分析显得意义不大。 6 ) 缺乏行之有效的分布式系统应用程序运行时状态的监控和管理 综上所述,性能监控是国内外都刚开始发展的新兴技术,而分布式系统应 用监控领域也处于探索阶段,有很大的研究和发展空间。 1 3 课题的主要来源和研究内容 本课题的主要来源于“中央广播电视大学远程开放教育教务管理系统” ( 以下简称为“教务管理系统 ) 。该系统是为全国广播电视大学的远程开放教 育教务工作而开发的分布式系统,分为中央电大、省电大两级操作平台,即两 级子系统。存在一个中央系统节点,4 4 个省级节点,每个省级节点又涉及几十 个分校节点,每个分校有几十个教学点节点,其中分校、教学点和学生所涉及 的逻辑功能都在省平台实现,可通过互联网访问省平台。基于j a v ae e 开发, 设计日常电大工作的学籍、课程、选课、专业规则、毕业、考试、成绩等业务 模块,是典型的复杂业务的分布式系统,其基本结构图如图1 2 所示。 教务管理系统在管理和使用的过程中,存在两个问题:首先系统具有庞大 的数据量和复杂的业务逻辑和操作流程,而系统的应用程序在运行过程中的执 行情况缺少监测机制。其次庞大的用户访问量,并发用户的访问会导致业务的 执行速度减慢,系统的瓶颈定位成为系统开发运行中的现实问题。以上两个主 要问题的存在常常让管理人员和开发人员束手无策,虽然企业级的监控产品在 w e b 服务器、应用服务器监控方面都有自己的特色,但也存在着一些不足之处, 而这其中最大的问题是对系统应用程序的监控缺少实际意义,监控大多几乎没 有参考价值,所以开发对应用实时监控的系统则显得非常重要。 本课题主要论述j m x 的主要技术标准和监控系统涉及的相关技术,设计了 一套j a v ae e 分布式系统应用程序的监控解决方案,该解决方案能够解决用户 和系统管理人员最为关心的分布式系统应用程序的运行情况的监控问题,为分 布式系统的监控特别是应用程序级监控提出了整体的解决方案。监控系统的设 计不但适应于教务管理系统,而且能够适应于大多主流的基于j a v ae e 的分布 式系统。 北京t 业大学工学硕一i :学位论文 分梭分l 空分援教学点教孕点孩中点掌瞿:孕皇学,l 三 图1 2 教务管理系统分布结构的示意图 f i g u r e1 - 2s k e t c ho f a c a d e m i ca f f a i r sm a n a g e m e n ts y s t e m 1 4 论文组织 本文主要包括以下几个大的方面的内容: ( 1 ) 对课题的来源、研究背景、国内外研究现状进行了阐述和分析,说明 了论文的基本组织结构。详见第l 章。 ( 2 ) 对j m x 基本框架及其相关技术进行研究。首先明确本课题要用到的主 要监控框架和技术,对j m x 的分层架构,各层的主要功能和作用,j m x 的通 信机制进行探讨。详见第2 章。 ( 3 ) 对于监控应用程序的相关技术进行研究,对于目前能够为应用程序增 加自检功能的主流技术:修改源代码、运用代理模式、a o p 技术和字节码增强 技术进行了深入的研究。详见第3 章。 ( 4 ) 针对应用程序的监控设计了一个解决方案,详见第4 章。 ( 5 ) 以项目“中央广播电视大学远程开放教育教务管理系统”为实例验证。 试验表明:监控系统能给管理人员提供有实际意义的应用程序监控数据、应用 程序运行时统计信息,良好的解决了监控中遇到的各种客观问题,详见第5 章。 第2 章j m x 规范及其栩关技术 2 1j m x 概述 第2 章j 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 ,j a v a 管理扩展,是s u n 公司提 出的一整套管理框架标准,定义为三层模型,是基于j a v a 管理系统的一个标准 和规范,同时也为分布式系统的管理提供了一个基本标准框架。它定义了完整 的框架体系、设计模式、a p i 接口、监控服务、通信实现接口等,可以对j a v a 程序进行管理控制,是一个为应用程序、设备、系统等植入监控功能的框架。 同时也致力于解决j a v ae e 的系统管理问题 i o - n 】。 j m x 可以跨越不同的操作系统、体系结构、网络传输协议,灵活的开发监 控和管理平台。规定了基本的框架、应用程序接口和对软、硬件资源进行管理 的基本规范【l 引。 j m x 对资源的管理是通过将资源类封装成m b e a n ( 可管理构件) ,同时将 m b e a n 注册到m b e a n 服务器来实现的,通过规范定义的接口对外暴露受控资 源的基本信息,管理程序通过本地或远程对l m 。b e a n 进行访问,就可实现对资源 信息的监控收集。 j m x 作为管理框架具有以下的特尉1 3 】: 1 ) 和现有的j a v a 技术的结合,无需引进新的技术,支持已经存在的技术 规范和标准。 2 ) 灵活性,无需大量的编码工作就可将j m x 植入到软件产品、设备和被 管理系统中,同时不修改原有系统的基本结构。 3 ) 扩展性良好,受管理资源可根据需要封装为可管理构件m b e a n ,插入 到j m x 管理系统中,当不需要管理时,可进行m b e a n 的注销,体现了j m x 基 本框架的良好可扩展性。 4 ) 平台无关性。 2 2j m x 的体系结构 j m x 规范的最新标准为j m x1 4 ,j m x 的基本体系结构分为三层,设备层 i n s t r u m e n t a t i o nl e v e l ,代理层a g e n tl e v e l ,分布式服务层d i s t r i b u t e ds e r v i c e l e v e l e l 4 1 ,基本结构如图2 1 所示。 北京- k q k 大学工学硕:i :学位论文 2 2 1 设备层 图2 1j m x 结构图 f i g u r e2 1s t r u c t u r eo fj m x d i s t r i b u t e d s e r v i c el e v e l a g e n t l e v e l i n s t r u m e n t a t i o n l e v e l 设备层( i n s t r u m e n t a t i o nl e v e l ) 为三层模型的最底层,定义了可管理资源 的封装表示方式,实现了可管理资源的规范,被管理对象封装为管理构件 m a n a g e db e a n ( 简称m b e a n ) ,m b e a n 是一个符合一定规范的j a v a 对象,它封 装了可配置的属性、可访问的方法和事件。m b e a n 注册到m b e a n 服务器( m b e a n s e r v e r ) 上,j m x 指定了m b e a n 的访问接口。这种可管理的资源有多种形式, 该层还定义了通知机制以及一些辅助元数据类 1 5 1 。 管理构件m b e a n 定义如下:管理构件是遵从特定命名规则和j m x 接口定 义的j a v a 类,它封装了可管理的资源,这些资源可以是一个应用程序、一组实 现的服务组件、一种设备等等,通过公共的方法以及遵从特定设计模式封装了 属性和操作【l6 1 。 j m x 定义了四种m b e a n ,每一种m b e a n 适应于不同的环境下表示被管理 资源: 1 标准m b e a n 最简单的m b e a n ,用于拥有已知的、不变接口的资源,即用来管理静态的 资源,它向外部公开其接口的方法和普通的j a v a b e a n 相同。清晰简单的定义了 它的管理接口,这个接口中定义了将要被处理的资源。标准m b e a n 依赖于一组 命名规则,或者称之为设计模式。命名规则定义了标准m b e a n 的各种属性和操 第2 荦j m x 规范及更相关技术 作。 在实现标准m b e a n 时遵循以下三条基本原则: 1 ) 资源的管理接口是资源的实现类名称和后缀m b e a n 组成 2 ) 实现类必须包含至少一个构造函数。 3 ) 管理接口定义了获得属性的函数和设置属性的相关函数 2 动态m b e a n 动态m b e a n 相比标准m b e a n 具有更大的灵活性,它在运行时才暴露管理 接口,实现动态m b e a n 要通过一个特定的接口d y n a m i c m b e a n ,此接口的方法 如图2 2 所示。 d y n a m i c m b e a n + g e t a t t r i b u t e ( i na t t r i b u t e :s t r i n g ) ? o b j e c t + g e t a t t r i b u t e s f 衲a t t r i b u t e s :s t r i n g ) :a t t r i b u t e l i s t + g e t m b e a n l n f o ojm b e a n l n f o + i n v o k e ( i na c t i o n n a m e :s t r i n g , i np a r a m s :o b j e c t , i ns i g n a t u r e :s t r i n g ) :o b j e c t + s e t a t t r i b u e ( i na t t r i b u t e :a t t r i b u t e l i s o :v o i d + s e t a t t r i b u t e 5 1 0 na t t r i b u t e s :a t t r i b u t e l i s o :a t t r i b u t e l i s t 图2 - 2 动态m b e a n 接口图 f i g u r e2 - 2d y n a m i

温馨提示

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

评论

0/150

提交评论