分享
 
 
 

MC4J远程监测Tomcat集群-JMX助Tomcat1(图)

王朝system·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

摘要

最新版本的Tomcat(5.5.9)采用java治理扩展(JMX)治理beans(managed beans)技术实现了对servlet容器的治理,其中包括监测所有的集群(cluster)元素和session复制情况。本文探讨了Tomcat对集群和session复制的支持,作者Srini Penchikala介绍了所有能用MBeans API监测的Tomcat集群组件。他还通过一个运行在集群上的Web应用示例展示了如何监测集群的细节和session复制,以及用JMX控制台显示服务器的统计数据。(原文2,300词,2005年8月1日发表)

J2SE5.0在监测和治理方面的支持很全面,拥有对Java平台及运行于其上的应用进行远程监测能力。J2SE 5.0中包含了Java治理扩展(JMX)远程监测技术,这是对JVM监控能力的一个新的补充。Java规范第160号需求是JMX远程监测规范,它是关于远程访问机制的,为基于JMX的代理制定了一套远程客户端API。

Tomcat 5.5在设计上借助了J2SE 5.0内建的JMX技术,5.5版(由Tomcat 5.0.27发展而来)实现了最新的Servlet (2.4) 规范和JavaServer Pages (2.0)规范,并对Tomcat服务器架构在很大程度上做了重新设计和组合。它运行更加稳定,与Tomcat 4.x相比,性能、伸缩性、可靠性、JMX监测、集成的session集群和应用部署等方面都有了提高。

有了最新版的Tomcat和J2SE 5.0的JMX技术,我们就可以通过JMX来使用servlet容器的属性和方法,同时减少与JMX相关的复杂编码。我在本文中将介绍如何在启动Tomcat servlet容器时启用远程JMX监测,以及一个运行在有session复制功能的Tomcat集群上的Web应用示例。最后,我们用JMX客户端查看集群元素和HTTP session的细节。不过在我们深入探讨远程JMX监测之前,还是先看一下构成Tomcat集群的组件类。

集群元素

一个Tomcat集群由六个主要的组件构成:cluster(集群),membership(成员),sender(发送者),receiver(接收者),replication valve(复制阀)和deployer(部署者)。

表1说明了Tomcat中的每个组件是如何完成集群和session复制工作的。

表1 Tomcat集群元素

有关集群元素的具体说明参见Tomcat 5.5的集群文档。

Tomcat 5.5在集群、session复制、服务器监测和治理方面相对以前的版本(Tomcat 4.1 和 5.0)做了一些改进。在Tomcat 4中几个服务器组件(如host、engine和service)可用MBeans来监测,而在Tomcat 5.5中Yoav Shapira、Filip Hanik和其他的Tomcat开发者为监测集群元素编写了JMX实现。

既然我们已经了解了每个Tomcat集群元素的功能,接下来让我们看看各种连接Tomcat服务器集群和监测集群情况的JMX客户端工具。

JMX客户端

JMX客户端是一个用来连接JMX代理(运行在本地或远程)的图形化用户界面(客户机/服务器或瘦客户端)。理想的JMX客户端具备以下特点,能够有效地监测应用服务器而不为其带来额外的负担:

---对系统和网络资源的低占用

---能保持系统的稳定和性能

---少量的或无需非凡设置(即使需要设置,也是简单明了而不是编程方式的)

---可提供良好的报告

J2SE 5.0附带了一个称为Jconsole的JMX客户端工具,可用来查看JVM运行时的具体情况。Tomcat的安装中包含了一个叫做JMXPRoxyServlet的JMX servlet,可用来查看、更新Tomcat MBeans的属性。它是一个能查看、操作运行于Tomcat容器中的MBeans的轻量级代理,通过与命令行脚本共同作用来监测和改变Tomcat的内部运行。JMX Query和Set命令分别用于查询MBeans和修改它们的属性和操作。

除了这两个工具,还有几个第三方开源JMX客户端应用程序(本文的资源部分有与之相关的链接):

---XMOJO

---jManage

---MX4J

---Spring JMX

---JMX-Html适配器

---MC4J JMX控制台

在本文中我将介绍如何安装和配置MC4J,远程连接到Tomcat Servlet容器,以及监测服务器集群所有的MBeans组件。

用MC4J实现JMX远程监测与治理

MC4J控制台提供了以下功能:

---以树状方式显示MBeans的属性、操作和通知

---设置MBeans属性值

---执行MBeans操作

---连接多个J2EE应用服务器

---图形化显示MBeans属性

我在本文的示例中用的是MC4J 1.2 Beta 9。安装MC4J可从SourceForge下载可执行文件(MC4J-12b9-Windows.exe),然后双击该文件进行安装,安装过程中会提示选择JDK宿主目录和MC4J安装目录(本文是安装在c:\dev\tools目录下)。

为JMX设置系统属性

只有对一些系统属性进行设置后才能使用JMX远程监测,这些属性由一个在JAVA_HOME/lib/management目录下名为management.properties的属性文件设定。表2给出了启用JXM监测所必须设定的属性。

表2 启用JMX监测所需的系统属性

设置密码文件非常重要,非凡是在多用户的环境下。我按以下步骤在JAVA_HOME/lib/management目录下建立密码文件:

---用密码模板文件(文件名jmxremote.passWord.template)拷贝出一个名为jmxremote.password的新文件

---将密码文件的文件权限设置为只有你能读写

---为角色设置密码,如monitorRole 和controlRole

---当启动JVM时系统属性已经设置成表2的样子

Tomcat集群的配置

我采用Tomcat 5.5.9组建Tomcat集群。本文使用的服务器集群由两个Tomcat实例组成,它们共享session状态,通过负载均衡在集群节点间分配处理请求。我的集群配置用到了SimpleTcpCluster 和 DeltaManager选项(使用默认值),在我的系列文章“Tomcat的集群与负载均衡”(ONJava.com,2004年)中对集群的组建有更具体的阐述。

为了能够在启动Tomcat服务器时启用远程JMX监测,要对位于CATALINA_HOME/bin目录下的 Tomcat启动脚本(catalina.bat 或catalina.sh)做如下修改:

set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=8999

注重:你在对第二个Tomcat实例的jmxremote端口设置时必须指定不同的端口(9999)。

图1 给出了集群的拓扑细节。

点击查看大图

图1 Tomcat集群架构示意图。

表3列出了组建Tomcat集群所需的各项配置参数。

表3 集群配置具体说明

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有