|
|
Last Modified: 2003.03.10 JFox小组2003.03.03讨论--JMX规范与实现,以及基于JMX的网络管理(by huihoo.org Allen整理) 注:founder_chen为JFox项目管理员和负责人之一,他主持了这次讨论。 主要讨论的问题: 1. 如何使用JMX管理组件及网络设备 2. 新的方向分布MBean 3. MBean的生命周期 其他: 1. cinsia对JFoxMX提出了很多好的建意 founder_chen对大家说: 今天讨论的议题为JMX的网络管理(09:53) cocia对大家说: 大家好(09:54) founder_chen对大家说: hi, cocia(09:55) orbat进入聊天室.(09:57) founder_chen对大家说: 等一下orbat来了,我们就开始,okay(09:57) cocia对大家说: hi,fouder(09:58) founder_chen对大家说: 开始之前,各位能先介绍一下自己吗(09:58) zth_cn进入聊天室.(09:58) cocia对大家说: 我是orbas组的,刚换工作。今天旁听。(09:58) zth_cn对大家说: hello all(09:59) founder_chen对大家说: 我是founder_chen, JFox成员,主要负责JFoxMQ的开发,并协助allen进行项目管理(09:59) zth_cn对founder_chen说: 你好,现在关于ejb container的工作进度如何?(10:00) cocia对大家说: JFoxMQ就是jms implement吧?(10:00) founder_chen对大家说: orbat, 请你给大家说说今天要讨论的几个问题吧,由你来主持(10:00) blueting进入聊天室.(10:01) zth_cn对founder_chen说: 今天的讨论什么?(10:01) founder_chen对大家说: cocia, 是的,JFoxMQ是实现基于jms规范的一个消息中间件,就像sonic MQ, openJMS一样(10:01) founder_chen对大家说: hi, zth_cn,你好(10:02) blueting对大家说: hi, 大家好!我是Wang Ting(10:02) founder_chen对大家说: zth_cn, 基于JMX的网络管理(10:02) zth_cn对cocia说: 你好,我把我的简历已经发给allen了,但是他还没给我回信(10:03) founder_chen对大家说: allen,今天去了上海,下次会议他会参加(10:04) founder_chen对大家说: hi, blueting(10:04) cocia对大家说: 你要加入那个项目?(10:04) founder_chen对大家说: orbat, 你能谈谈ejb container的工作进度吗(10:05) orbat进入聊天室.(10:05) orbat对大家说: hi(10:06) orbat对大家说: 大家好,不好意思,手头正好有点事情(10:06) orbat对founder_chen说: ejb container 是 tisom 在做(10:06) orbat对founder_chen说: 进展应该说是很顺利的(10:06) founder_chen对大家说: orbat,那我们进行关于JMX的主题吧(10:07) zth_cn对founder_chen说: jmx的网络管理包含那些内容了?(10:08) orbat对founder_chen说: 因为 jmx 在网络管理方面很有应用前途,所以 Allen 和另外一个网友想就这个方面开展一个项目(10:09) founder_chen对大家说: 大家可以就关于JFoxMX提出问题(10:09) cinsia进入聊天室.(10:10) orbat对founder_chen说: 这个项目主要是使用 http 控制台来管理网络设备(10:10) sunmike1000进入聊天室.(10:11) zth_cn对大家说: 因为我对网管不熟悉,是不是包括网络情况监测等等方面?(10:11) founder_chen对大家说: 网络设备指什么,TMN中的网元有什么区别,(10:11) allen_long进入聊天室.(10:12) founder_chen对大家说: hi, allen, :)(10:12) orbat对founder_chen说: 我这里说的网络设备主要是指能被 SNMP 和其它网络管理协议控制管理的网络硬件设备(10:13) allen_long对founder_chen说: 来晚了,你注意保存讨论内容。我现在在上海(10:14) cinsia对大家说: hi,大家好(10:14) founder_chen对大家说: allen, 好的,我正在保存(10:14) orbat对大家说: hi,allen(10:14) cinsia对大家说: 我想首先问一下,jfoxmx实现地MBeanServer除了用agent启动之外还可以怎么启动?(10:14) zth_cn对大家说: allen,我给你发的email,你看到了吗?(10:15) fat1进入聊天室.(10:15) founder_chen对orbat说: 但我感觉jmx好像是可以用来管理组件的(10:15) orbat对大家说: MBeanServer 都是用 Agent,但是你可以编写一个Agent,专门负责启动 MBeanServer ,比如,你可以使用 Http Adaptor 来启动 MBeanServer(10:16) founder_chen对orbat说: 在jboss的architecture图中,jmx好像是连接着各个组件(10:16) zth_cn对大家说: 基于jmx的网管,是不是只要包网络管理的功能按照模块分,然后通过jmx管理?(10:16) cinsia对大家说: 如果只是通过jmx MBeanServer的html控制台invoke相应的mbean的方法,那样易用性不是很好(10:17) allen_long对orbat说: 辛苦啦 :)(10:17) cinsia对大家说: 我觉得JMX是在传统的网管模型的MO-Agent—Manager的结构中加了一个MbeanServer的管理中间层(10:17) zth_cn对大家说: 对,jboss中jmx是管理的总线,所有的服务都通过他(10:18) orbat对founder_chen说: 对,JMX 的初衷就是用来管理组件的,但是这个组件的功能可以是各种各样的,再加上 JMX 具有多种管理形式,比如:Http RMI 等等,所以 jmx 可以扩展到很多应用领域(10:18) founder_chen对大家说: jmx是对java.lang.reflection的高级扩展,对吧(10:18) zth_cn对大家说: 不一定(10:18) rockexpress进入聊天室.(10:18) orbat对founder_chen说: 其实管理的过程,就是对 jmx 之中的组件进行方法调用,所以 jmx 也是联系各个组建的纽带(10:19) allen_long对大家说: 基于WEB的网管具有较强的开放性。通常有两种实现方法:(10:19) cinsia对大家说: 可是我有点不明白的是,MBeanServer难道不应该是一个独立的Server吗?但是我在Jfox的实现里面看不到如何启动它?(10:19) allen_long对大家说: 。在网元中嵌入WEB。所有管理工作站直接浏览管理信息(10:19) 李肥肥进入聊天室.(10:20) xia_jianjun进入聊天室.(10:20) rockexpress对大家说: JMX本身是从JDMK中提取出来的,可以当作一个很好的EMS(10:21 zth_cn对大家说: 所有管理工作站?怎么会有很多的管理工作站?(10:21) cinsia对大家说: 用MBeanServer的html console控制Mbean-网元有个问题是,Mbean接口的参数类型不能太复杂的,目前针对string、 integer是没有问题,可是如果参数是Mbean就有问题,怎么实现阿?(10:21) orbat对cinsia说: MBeanServer 其实只是一些类库,并不是一个真正的线程,它实际不需要启动,在你启动了一个服务的同时,MBeanServer 就随着启动了(10:22) allen_long对大家说: 我的理解是分布在不同地方的管理工作站(10:22) founder_chen对orbat说: JMX是如何管理一个组件或网络设备的lifecircle的?(10:22) orbat对cinsia说: 有两个实现方法,第一个就是只把MBean 的name作为参数,第二个就是使用 rmi adaptor(10:23) cinsia对大家说: 我的看法是:如果把MBean接口的方法看成被管对象提供的管理服务,那么MbeanServer就是一个公共的管理服务注册中心,后者管理前者,向各管理者提供查找、监视、组合、动态发布等功能(10:23) orbat对founder_chen说: 都是通过编程来控制的,比如编写类似 start stop 这个控制函数(10:24) founder_chen对大家说: 现在基于JMX的网关产品有IBM,Tivoli, AdventNet的网管引擎,等(10:24) orbat对cinsia说: 对,就是这样的(10:24) rockexpress对大家说: 还有SUN的JDMK!(10:25) cinsia对大家说: 所以我一直希望的是,MBeanServer能通过html console或者其他的什么管理界面,提供管理者组合基本Mbean-管理服务的服务,也就是一直提到的策略服务(10:25) zth_cn对大家说: 我觉得founder_chen,问的是mbean的生命周期,不是服务的生命周期(10:25) cinsia对大家说: 现在看明白advent net的rule editor 应用程序的原理了,但是和我一开始想的有点不太一样(10:25) founder_chen对cinsia说: MBean Server如何监听rule engine,他们之间通过哪种方式(协议),进行(10:30) orbat进入聊天室.(10:30) cinsia对allen_long说: rule engine有个监听端口,就是你上传rule的时候那个4050(10:31) orbat对大家说: mbea 的生命周期就很不确定,因为 mbean 可能有自己的线程,例如一个服务程序(10:31) cinsia对allen_long说: 如果MbeanServer不是自主的服务器,它怎么动态维护注册的Mbean的数量、信息,相应客户端的query、invoke?(10:32) founder_chen对cinsia说: 那就是说rule engine本身提供某种监听协议了?比如start, stop,when这类操作(10:32) cinsia对allen_long说: RuleEngine本身就是一个MBean,所以策略服务是作为一个服务被MbeanServer加载的阿(10:33) zth_cn对cinsia说: 哪有adventnet的一些介绍下载?(10:34) cinsia对allen_long说: 我刚才说的编辑、上传rule xml的是MBeanServer的客户端(10:34) orbat对cinsia说: mbeanserver 虽然不是自主的服务器程序,但是一般都会伴随一个服务程序,比如一个 http adaptor 等,一但http adaptor 启动之后,mbeanserver 就具有和它一个生命周期了(10:34) cinsia对allen_long说: 没有介绍,是zf和我dj后看得源码,(10:34) zth_cn对cinsia说: 怎样说监听策略可以动态改变了?(10:34) orbat对cinsia说: 也就是刚才说的,为什么没有看到启动 jmx 的代码(10:35) zth_cn对cinsia说: 你有没有这方面的分析文档,让大家看看?(10:36) cinsia对allen_long说: nod,rule客户端就是提供用户动态定制rule的操作界面(10:36) cinsia对allen_long说: 有,可以吧,不过我要问问zf先(10:37) zth_cn对cinsia说: 那的确很厉害了,我们的jmx网管是不是也要参考这样?(10:37) zth_cn对cinsia说: thanks,先了(10:37) orbat对cinsia说: 可以说,jmx除了提供异步调用 mbean 的方法之外,它对 mbean 的其它事务都不干涉(10:37) zth_cn对cinsia说: 有没有分布式的jmx这样的东西?(10:38) zth_cn对cinsia说: 多个jmx协作工作?(10:39) orbat对zth_cn说: 目前,规范还没有涉及到这个方面(10:39) orbat对zth_cn说: 但是这好像正是 jmx 发展的方向(10:40) zth_cn对cinsia说: 大家是不是要对这个方面研究?(10:40) cinsia对zth_cn说: 现在还不是多个jmx协作的问题吧,我现在想的是怎么利用一个mbean Server来调度管理工作,而不仅仅是invoke所注册的mbean(10:40) zth_cn对cinsia说: 还有通过jmx的cluster,有没有人看过?(10:40) cinsia对zth_cn说: 不清楚还(10:41) allen_long对zth_cn说: 这个话题很好,这涉及集中和分布的问题,既要有集中管理,又要有分布的特性,也就是要涉及集群的问题等(10:41) zth_cn对cinsia说: 对,我觉得这肯定是jmx要涉及的(10:42) orbat对大家说: JMX 虽然也可以往分布式这个方向发展,但是这可能会和 ejb 有些冲突(10:45) skyedge进入聊天室.(10:45) zth_cn对orbat说: 会有那些问题?(10:46) rockexpress对大家说: 我觉得JMX的本意就是用于管理,管理体系结构必然要想分布式发展!(10:46) cinsia对orbat说: 刚才给你发的几条消息怎么没了阿?(10:47) orbat对大家说: 分布式的 MBean 的确是很有前途的,要是大家兴致高,完全可以成立一个小组往这个方向发展(10:48) orbat对cinsia说: 什么消息?(10:49) cinsia对orbat说: ft,如果http adaptor服务能够启动一个MBeanserver,那我可否认为这就等于是启动了一个http Server服务器了呢?(10:49) zth_cn对orbat说: 好的(10:49) cinsia对orbat说: 这个管理服务器可以提供mbean的注册、查找、组合和管理任务的执行。。。(10:50) zth_cn对cinsia说: 我是这样理解的(10:50) orbat对cinsia说: 其实 mbean server 并没有启动这个说法(10:50) rockexpress对大家说: 我觉得,用用于网络管理,就需要通过一些API来获取具体设备的信息,比如SNMP(10:52) fat1进入聊天室.(10:53) orbat对rockexpress说: jmx 是更加高层的管理,并不涉及底层的硬件接口(10:53) zth_cn对rockexpress说: 这是肯定的,关键在于,如何管理这些获取信息的api(10:53) ivy123进入聊天室.(10:53) orbat对rockexpress说: 由 mbean 通过 SNMP 或其它接口获得(10:54) cinsia对orbat说: 那mbean server到底是不是一个server?是server为什么没有启动这一说?(10:54) orbat对rockexpress说: jmx 管理 mbean , mbean 调用 snmp(10:55) rockexpress对大家说: 对啊,我们可以再实现几个协议适配器!(10:55) rockexpress对大家说: 比如SNMP Adaptor啊?(10:55) orbat对rockexpress说: 嗯,正是,实现 SNMP Adaptor 就是 jmx 参与网络管理的第一步(10:56) rockexpress对大家说: 对,我现在很有兴趣作这方面的工作,比如实现SNMP Adaptor!(10:56) zth_cn对rockexpress说: 现在是不是要对jmx的网管的需求和构架有一个初步的设计,然后大家在来讨论?(10:56) rockexpress对大家说: 如果就分两层,上层基于JMX的管理应用式可以通过SNMP来操纵下层的JMX 代理的(10:57) agent 来支持它的生命周期,而且这个 agent 必须是一个服务(10:58) orbat对cinsia说: 当然是一个server,因为它提供了管理服务,为什么没有启动一说是因为这个 server 并没有自己的线程,它必须要有一个 rockexpress对zth_cn说: 对,其实就是JMX代理之间的通信的方式如何选择的问题(10:58) orbat对zth_cn说: cinsia 正在做这个事情(10:58) zth_cn对orbat说: 那下一步的工作是什么?(10:58) orbat对zth_cn说: 当然是实现 SNMP Adaptor(10:59) rockexpress对cinsia说: 你已经实现了SNMP Adaptor了吗?(10:59) orbat对cinsia说: sorry , 我公司说话不方便,还是 email 吧,我尽快回你(11:00) zth_cn对orbat说: 呵呵,这个我就不懂了,大家多给我补习一下(11:00) orbat对cinsia说: 你先写封 email ,我先看看(11:03) cinsia对orbat说: agent来控制mbean Server的生命周期,这个设计好奇怪阿,那一个agent才对应一个mbean server吗?那mbean server 之间怎么互相知道?通信?(11:05) orbat对cinsia说: mbean 只要获得生存线程之后,它可以注册和管理其它mbean(11:06) allen_long对fat1说: 那无们明天(11:07) cinsia对orbat说: ok,不管什么方式启动,那我就认为mbean server这样被启动了吧,现在的问题是,如果要让这个mbean server实例提供动态定制管理任务的服务,怎么实现(11:08) zth_cn对cinsia说: 能不能给我发封email,讲讲snmp adaptor?my email:zth_cn@sina.com(11:09) zth_cn对founder_chen说: 给我一份,谢谢my emial:zth_cn@sina.com(11:09) founder_chen对allen_long说: 会后我把今天的讨论整理后email给你(11:10) rockexpress对zth_cn说: 你可以先去熟悉熟JDMK,或者Adventnet的那个关于JMX的产品!(11:10) zth_cn对rockexpress说: 好的,xiexie(11:10) orbat对founder_chen说: 好, founder ,多亏你了(11:11) cinsia对orbat说: 最好是mbean server自己提供的一个RuleMBean,这个MBean提供一个start方法(或者它是在mbeanServer初始化的时候被启动),这个start方法就是启动了一个监听上传rule xml的server,负责解析、生成和调度执行的线程(11:11) zth_cn对大家说: 什么时候有关于EJB Container的讨论?(11:12) orbat对founder_chen说: 也是可以的,但是这个 RuleMBean 就只能你自己来写了(11:12) cinsia对zth_cn说: 不好意思,我是看到advent net好像作了这个东西,所以没有管它,我的兴趣可能多在于基于jmx作应用而不是提供jmx framwork的基础支持,那你是不是还要做q3 adaptor,wbem adaptor阿(11:12) zth_cn对cinsia说: 没事,还是谢谢了(11:13) cinsia对zth_cn说: 可是这个编辑rule的客户端,能不能就是http console呢?(11:14) allen_long对zth_cn说: 下一、两周吧,我要和这部分的开发人员联系一下。(11:16) cinsia对zth_cn说: 大家考虑一下这个ruleMBean的addRule方法接口的实现?它不是简单的string或者integer类型(11:17) zth_cn对大家说: 好(11:18) founder_chen对allen_long说: okay(11:19) founder_chen对allen_long说: mep的email?(11:20) cinsia对allen_long说: allen,orbat是yy吗?(11:22) allen_long对cinsia说: 对啊(11:23) allen_long对cinsia说: 是不是感到他有变化:)(11:23) founder_chen对大家说: 今天就到这吧,欢迎各位下次会议继续支持(11:27) founder_chen对大家说: bye(11:27) orbat对allen_long说: 哪里哪里,今天有点忙,刚才走开了(11:32) orbat对allen_long说: 你现在在上海吗?(11:32) orbat对allen_long说: 好,我也退出了,有事 QQ 联系(11:33) orbat对allen_long说: 好啊,有项目那可一定要做哦,积累一些资本,呵呵(11:33) orbat离开了聊天室.(11:34) allen_long对大家说: 谢谢大家的参与,下次再见,明天有CORBA/SNMP,CORBA/CMIP的讨论,也欢迎大家参与讨论(11:35) allen_long对大家说: 有什么新的问题和讨论,可发布到huihoo论坛,谢谢:)(11:38) allen_long对大家说: http://www-900.ibm.com/developerWorks/cn/java/j-jmx1/index.shtml(11:41) allen_long对大家说: http://www-900.ibm.com/developerWorks/cn/java/j-jmx2/index.shtml(11:41) allen_long对大家说: 大家可看看(11:41) fat1离开了聊天室.(11:51) skyedge对大家说: ok..thx(11:59) |