`
zhaohaolin
  • 浏览: 1011147 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

 
阅读更多

最新版本的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下载可执行文件(M C4J-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 集群配置详细说明
  

分享到:
评论

相关推荐

    MC4J配置(Tomcat篇)2

    视频文件---! <br>基于JMX,用MC4j远程监控Tomcat5.5 用MC4J实现JMX远程监测与管理

    MC4J JMX Console-开源

    MC4J是用于使用Java管理扩展(JMX)进行远程监视和管理的Swing应用程序。 它包括对所有主要应用程序服务器的支持和高级功能,例如实时属性图形绘制和可自定义的仪表板。

    MC4U Hardware Guide.docx

    文档中可能包括了关于MC4U的物理特性、接口规格、功能描述、安装指导、接线图、系统配置以及故障排查等内容。MC4U硬件版本的更新历史显示,此文档结合了之前不同版本的MC4U控制模块硬件指南,旨在提供最全面的信息。...

    FMV-680mc4 触摸屏驱动

    《FMV-680mc4 触摸屏驱动详解》 富士通FMV-680mc4是一款知名的笔记本电脑型号,其触摸屏功能是该设备的一大亮点。为了确保用户能充分利用这一特性,安装合适的触摸屏驱动至关重要。本文将深入探讨FMV-680mc4触摸屏...

    minecraft-world-downloader:下载Minecraft世界

    minecraft-world-downloader 一个Minecraft世界下载器,其工作原理是拦截并解密客户端与服务器之间的网络流量,以读取和保存块数据。 产品特点 不需要客户端修改,因此无论是否适用于每个游戏客户端 ...

    MC4R基因多态性与鸡生长和体组成性状的相关研究 (2006年)

    实验以东北农业大学建立的高低脂双向选择肉鸡品系为研究材料,采用PCR-SSCP和测序方法检测MC4R基因编码区的SNPs,结果在编码区发现1个G315T的突变。最小二乘分析表明,该位点基因型在高低脂系6世代中与7周龄体重、屠...

    三菱mc4c开发Java代码Demo

    详细参考博客...

    光伏电站施工图设计说明书.pdf

    还包括了国际电工委员会IEC60904-1-2006和CECS84-1996等国际标准。这些标准规定了光伏组件、电池、逆变器等的设计、测试方法以及安全等要求。 4. 组件和电缆规格:如MC4连接器规格、44.1mm直径的电缆,以及不同规格...

    mc4:基于Minetest的体素构建游戏[WIP]

    mc4 受启发的体素建筑游戏执照Web客户端是根据GPLv3 +许可的,而服务器是AGPLv3 +。 有关,请参阅和每个源代码文件的顶部。 库和资产许可证文件分布在整个源代码树中,下面列出了链接。服务器编译中安装构建依赖项:...

    串口三菱MC协议格式4读写

    1. **MC协议版本与特性**:MC协议作为三菱PLC通讯的核心,支持不同的通讯协议版本,包括MC协议格式4。MC4协议通过特定的数据帧格式进行数据的发送和接收。 2. **数据帧格式**:从提供的【部分内容】可以分析出MC4...

    ps4 金手指cht.rar

    1. **获取cht文件**:首先,你需要找到对应你要玩的PS4游戏的cht文件。这些文件通常由社区成员或开发者制作并分享,确保从可靠来源获取,以防病毒或恶意软件。 2. **安装Cheat Engine**:虽然Cheat Engine主要是为...

    mc4ap:适用于所有平台的 Mercury 组件

    "mc4ap:适用于所有平台的 Mercury 组件"是一个专为多平台设计的软件开发工具,它提供了统一的逻辑接口规范来操作各种组件。这个工具的核心目标是促进跨平台的兼容性和灵活性,使得开发者能够在不同的操作系统上如...

    分布式光伏电站运维工程师考试题.doc

    1. **日常巡检方案及维护规则**: - 组件的检查与维护:确保支架稳定,防腐层完整,螺丝和夹具紧固,接地良好。组件表面应无损伤、污染,MC4插头和接线盒状态良好,无腐蚀,运行温度不宜过高,无热斑现象。 - 直流...

    克劳斯玛非注塑机说明书

    - **更换与清洗**:涉及料筒、加热圈、过滤器等关键部件的更换与清洗方法,有助于延长设备使用寿命。 - **检查和维护表**:提供了详细的维护计划表,帮助用户定期检查设备状况,预防潜在故障的发生。 综上所述,...

    OWASP_Broken_Web_Apps_VM_1.2

    - 从链接:[https://pan.baidu.com/s/1O-Mc4c7JdMacTTzeuIVzDw](https://pan.baidu.com/s/1O-Mc4c7JdMacTTzeuIVzDw),提取码:hghr,下载OWASP Broken Web Apps VM镜像文件。 - 使用VirtualBox导入VM,并启动。 ###...

Global site tag (gtag.js) - Google Analytics