Huihoo.org - Open Source Middleware Foundation

 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)