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

JMX管理Tomcat/Resin

    博客分类:
  • JMX
阅读更多

JMX管理Tomcat/Resin

WEB服务器 2008-08-17 13:10:13 阅读2147 评论3   字号:   订阅

.style1 { color: rgb(0, 0, 255); font-weight: bold; }
  文章声明

  
作者:
傲风(aofengblog@163.com)       编写时间: 2008年08月17日

网址: http://aofengblog.blog.163.com

作者保留所有权利,转载请保留文章全部内容!


环境


Windows XP / Linux
JDK5Update15
Tomcat5.5.26
Resin 3.1.6



Jconsole简介


jconsole是一个JMX兼容的监视工具。它使用Java虚拟机的JMX机制来提供运行在Java平台的应用程序的性能与资源耗费信息。 位于JAVA_HOME/bin目录。


一、本地监控
命令语法:jconsole [进程ID]
示例:jconsole 688

如何获取进程ID?

       JMX管理Tomcat/Resin - 傲风 -

jconsole和被监视的应用程序必须是使用同一个用户运行的,管理和监视系统使用操作系统的文件权限。在Windows操作系统如果要支持远程监控还需要磁盘格式为NTFS。
如果你没有指定PID,直接运行jconsole,jconsole会自动的探测出本地运行的所有java应用程序并显示一个对话框让你选择你想监控的程序。如下图所示:

JMX管理Tomcat/Resin - 傲风 -
使用jconsole监控本地应用的详细说明和使用可以参考官方文档: Local JMX Monitoring and Management


二、远程监控


命令语法:jconsole [主机地址:端口]
示例:jconsole 10.3.18.58:9009

可以直接在CMD中直接输入jconsole,然后在“JConcole:连接到代理”
对话框中选择“远程”选项,输入主机和端口,如何设置用户名和密码,则还要输入用户名和密码,如下图所示:
JMX管理Tomcat/Resin - 傲风 -

使用jconsole监控远程应用的详细说明和使用可以参考官方文档: Remote Monitoring and Management


三、配置Resin3.0.x接受JMX管理


在启动resin时加参数:
windows下
httpd.exe -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9009 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

Linux下
httpd.sh -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9009 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false


四、配置Resin3.1.x接受JMX管理


以下配置在Windows和Linux下同时适用 ,打开conf/resin.conf 中的JMX配置信息如下:

  • 无限制访问
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.port=9009</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.authenticate=false</jvm-arg>

 

  • 需要用户名和密码访问
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.port=9009</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.authenticate=true</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.access.file=D:/temp/jmxremote.access</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.password.file=D:/temp/jmxremote.password</jvm-arg>


打开jconsole,用本地或远程方式进入,在MBean选项中将看到resin的MBean,如下界面所示:
JMX管理Tomcat/Resin - 傲风 -



五、配置Tomcat接受JMX管理


打开Tomcat的bin/catalina.bat,如果为linux或unix系统,则为catalina.sh文件
找 到 set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf \logging.properties,修改为:

  • 无限制访问
在"rem ---------------------------------------------------------------------------"下面添加一行:
set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

 

  • 需要用户名和密码访问
在"rem ---------------------------------------------------------------------------"下面添加一行:
set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=D:/temp/jmxremote.password -Dcom.sun.management.jmxremote.access.file=D:/temp/jmxremote.access


打开jconsole,用本地或远程方式进入,在MBean选项中将看到Tomcat的MBean,如下界面所示:
JMX管理Tomcat/Resin - 傲风 -

同时还可用 service:jmx:rmi:///jndi/rmi://localhost:9008/jmxrmi 访问。

六、异常处理


在配置Tomcat和Resin需要用户名和密码访问的时候,遇到了两个问题,害我弄了半天才摆平它们……JMX管理Tomcat/Resin - 傲风 - 傲风的博客
1)如果在启动Tomcat/Resin时报错:“错误: 必须限制口令文件读取访问: D:/temp/jmxremote.password ”。
解决:
因为jmxremote.password只允许拥有者访问,所以要删除其他的权限账号。


2)如果在启动Tomcat/Resin时报错:“错误: 代理抛出异常: java.lang.IllegalArgumentException: Syntax error in access evel entry []
解决:
因为从JAVA_HOME/jre/lib 目录下复制 jmxremote.access 和从 jmxremote.password.template 另存为 jmxremote.password 时没有删除里面的那些注释,将多余的文字删除即可。
jmxremote.access 文件内容示例如下:
aofeng readonly
nieyong readwrite

jmxremote.password 文件内容示例如下:
aofeng sys
nieyong pm



参考资料



<正文结束>

分享到:
评论

相关推荐

    Linux版本的resin服务器

    对于开发和调试,Resin支持JMX(Java Management Extensions)和JConsole工具,这使得开发者可以远程监控服务器状态,诊断问题并优化性能。Resin还提供了详细的日志功能,帮助定位和解决问题。 然而,尽管Resin ...

    resin-3.0.28.rar

    - **JMX管理**:支持Java Management Extensions (JMX),允许管理员远程监控和管理服务器状态。 - **安全特性**:提供了SSL/TLS支持,增强了网络通信的安全性,同时具备基于角色的访问控制(RBAC)。 3. **使用...

    项目中初用resin

    Resin是一款高性能、轻量级的Java应用服务器,常被用于部署和管理Web应用程序。它以其快速的启动速度、高效的内存管理和优秀的Servlet容器性能而受到开发者青睐。在项目开发过程中,初次使用Resin可能会涉及到以下几...

    web开发的服务器resin3.1.3

    - **JMX支持**:Resin支持Java Management Extensions (JMX),允许远程管理和监控服务器资源。 - **企业级功能**:Resin提供了更多的企业级特性,如缓存、集群、事务管理等,适合大型企业应用。 3. **Resin 3.1.3...

    java技术体系图

    - **Web服务器**:Tomcat/Jetty/Resin/JBossWeb。 - **JavaWeb核心技术**: - **网页开发** + **数据库设计** → **JavaWeb项目开发**。 - **6项基本技术**:JSP + JavaBean + Servlet + EL + JSTL + Taglib。 ...

    成为Java高手需要注意的25个学习目标

    6. **Web服务器管理**:了解并能管理Tomcat,Resin,JRun等Web服务器,知道如何部署和扩展Web应用程序。 7. **分布式计算**:学习RMI和RMI/IIOP,理解分布式对象和远程API的概念。 8. **中间件技术**:熟悉JavaEE...

    成为Java高手的25个学习目标.doc

    9. **WEB服务器管理**:了解和管理Tomcat、Resin、JRun等WEB服务器,能够进行程序的部署和维护。 10. **分布式对象和远程API**:掌握RMI(远程方法调用)和RMI/IIOP(Internet Inter-ORB协议),理解分布式系统的...

    JAVA程序员您需要学习的25个标准

    7. **服务器管理**:熟练使用和管理Tomcat、Resin、JRun等WEB服务器,懂得在这些服务器上部署和调试JAVA应用程序。 8. **分布式对象和远程API**:理解RMI和RMI/IIOP,用于远程对象交互。 9. **中间件技术**:了解...

    25个好习惯帮你快速成为JAVA高手

    9. **Web服务器管理**:学会使用和管理Web服务器,如Tomcat,Resin,JRun,能够在此基础上扩展和维护Web程序。 10. **分布式对象与远程API**:理解RMI和RMI/IIOP等远程API,掌握分布式对象的处理方式。 11. **...

    JAVA技术资料讲解

    7. **Web服务器管理**:熟悉Tomcat、Resin、JRun等Web服务器的使用、配置和管理,以及如何部署和维护Web应用程序。 8. **分布式计算**:学习RMI(远程方法调用)和RMI/IIOP(Internet Inter-ORB Protocol),理解...

    Java高级工程师必学内容

    掌握Tomcat、Resin、JRun等Web服务器的使用与管理,了解如何在其上部署和维护Web应用程序,对于保持系统稳定性和安全性至关重要。 #### 分布式对象与中间件技术 分布式对象和远程API(如RMI、RMI/IIOP)使Java程序...

    欲为Java技术大牛所需的25个学习要点

    8. **Web服务器管理**:掌握Tomcat、Resin、JRun等Web服务器的使用、配置和扩展,以及在这些服务器上部署和管理Web应用程序。 9. **分布式计算**:学习RMI(Remote Method Invocation)和RMI/IIOP(Internet Inter-...

    学习java的30个步骤

    10. **Web服务器管理**:掌握Tomcat、Resin、JRun等Web服务器的配置、扩展和维护。 11. **分布式对象与远程API**:学习RMI和RMI/IIOP,理解分布式计算的基础。 12. **中间件技术**:研究Tuxedo、CORBA以及JavaEE等...

    Java 高手速成方法

    具备管理和维护Web服务器(如Tomcat、Resin、JRun)的能力,以及在其上部署和优化Web应用程序的技术,是专业Java开发者不可或缺的技能。 #### 8. 分布式对象与远程API 理解并运用RMI(远程方法调用)和RMI/IIOP等...

    java学习目标

    熟练掌握Tomcat、Resin、JRun等Web服务器的安装、配置和管理,对于部署和维护Web应用至关重要。 #### 9. 远程方法调用与分布式计算 学习远程方法调用(RMI)、RMI/IIOP等技术,以及Java命名和目录接口(JNDI)、...

    怎样学好JAVA的几个建议

    了解并能够管理Web服务器(如Tomcat、Resin、JRun),以及在其上部署和维护Web程序,是每个JAVA开发者的基本技能。 ### 9. 分布式对象与远程API RMI和RMI/IIOP等远程API允许你在分布式环境中调用对象,这对于构建...

    Java学习的30个目标

    学会使用Tomcat、Resin、JRun等Web服务器,进行Web应用的配置和部署。 #### 11. 远程调用API:RMI与RMI/IIOP 熟悉远程方法调用(RMI)和RMI/IIOP协议,实现分布式系统间的服务调用。 #### 12. Java事务服务 学习...

    java的30个学习目标

    掌握Servlets、JSP、JSTL等Web开发技术,熟悉JSF、Struts、Tapestry等MVC框架,以及Tomcat、Resin等Web服务器的管理和维护,是成为Web开发高手的必经之路。 #### 十、分布式对象与远程API 理解RMI、RMI/IIOP等远程...

Global site tag (gtag.js) - Google Analytics