JMX管理Tomcat/Resin
WEB服务器
2008-08-17 13:10:13
阅读2147
评论3
字号:大
中
小
订阅
.style1 { color: rgb(0, 0, 255); font-weight: bold; }
环境
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?
jconsole和被监视的应用程序必须是使用同一个用户运行的,管理和监视系统使用操作系统的文件权限。在Windows操作系统如果要支持远程监控还需要磁盘格式为NTFS。
如果你没有指定PID,直接运行jconsole,jconsole会自动的探测出本地运行的所有java应用程序并显示一个对话框让你选择你想监控的程序。如下图所示:
使用jconsole监控本地应用的详细说明和使用可以参考官方文档:
Local JMX Monitoring and Management
二、远程监控
命令语法:jconsole [主机地址:端口]
示例:jconsole 10.3.18.58:9009
可以直接在CMD中直接输入jconsole,然后在“JConcole:连接到代理”
对话框中选择“远程”选项,输入主机和端口,如何设置用户名和密码,则还要输入用户名和密码,如下图所示:
使用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,如下界面所示:
五、配置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,如下界面所示:
同时还可用 service:jmx:rmi:///jndi/rmi://localhost:9008/jmxrmi 访问。
六、异常处理
在配置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
参考资料
<正文结束>
分享到:
相关推荐
对于开发和调试,Resin支持JMX(Java Management Extensions)和JConsole工具,这使得开发者可以远程监控服务器状态,诊断问题并优化性能。Resin还提供了详细的日志功能,帮助定位和解决问题。 然而,尽管Resin ...
- **JMX管理**:支持Java Management Extensions (JMX),允许管理员远程监控和管理服务器状态。 - **安全特性**:提供了SSL/TLS支持,增强了网络通信的安全性,同时具备基于角色的访问控制(RBAC)。 3. **使用...
Resin是一款高性能、轻量级的Java应用服务器,常被用于部署和管理Web应用程序。它以其快速的启动速度、高效的内存管理和优秀的Servlet容器性能而受到开发者青睐。在项目开发过程中,初次使用Resin可能会涉及到以下几...
- **JMX支持**:Resin支持Java Management Extensions (JMX),允许远程管理和监控服务器资源。 - **企业级功能**:Resin提供了更多的企业级特性,如缓存、集群、事务管理等,适合大型企业应用。 3. **Resin 3.1.3...
- **Web服务器**:Tomcat/Jetty/Resin/JBossWeb。 - **JavaWeb核心技术**: - **网页开发** + **数据库设计** → **JavaWeb项目开发**。 - **6项基本技术**:JSP + JavaBean + Servlet + EL + JSTL + Taglib。 ...
6. **Web服务器管理**:了解并能管理Tomcat,Resin,JRun等Web服务器,知道如何部署和扩展Web应用程序。 7. **分布式计算**:学习RMI和RMI/IIOP,理解分布式对象和远程API的概念。 8. **中间件技术**:熟悉JavaEE...
9. **WEB服务器管理**:了解和管理Tomcat、Resin、JRun等WEB服务器,能够进行程序的部署和维护。 10. **分布式对象和远程API**:掌握RMI(远程方法调用)和RMI/IIOP(Internet Inter-ORB协议),理解分布式系统的...
7. **服务器管理**:熟练使用和管理Tomcat、Resin、JRun等WEB服务器,懂得在这些服务器上部署和调试JAVA应用程序。 8. **分布式对象和远程API**:理解RMI和RMI/IIOP,用于远程对象交互。 9. **中间件技术**:了解...
9. **Web服务器管理**:学会使用和管理Web服务器,如Tomcat,Resin,JRun,能够在此基础上扩展和维护Web程序。 10. **分布式对象与远程API**:理解RMI和RMI/IIOP等远程API,掌握分布式对象的处理方式。 11. **...
7. **Web服务器管理**:熟悉Tomcat、Resin、JRun等Web服务器的使用、配置和管理,以及如何部署和维护Web应用程序。 8. **分布式计算**:学习RMI(远程方法调用)和RMI/IIOP(Internet Inter-ORB Protocol),理解...
掌握Tomcat、Resin、JRun等Web服务器的使用与管理,了解如何在其上部署和维护Web应用程序,对于保持系统稳定性和安全性至关重要。 #### 分布式对象与中间件技术 分布式对象和远程API(如RMI、RMI/IIOP)使Java程序...
8. **Web服务器管理**:掌握Tomcat、Resin、JRun等Web服务器的使用、配置和扩展,以及在这些服务器上部署和管理Web应用程序。 9. **分布式计算**:学习RMI(Remote Method Invocation)和RMI/IIOP(Internet Inter-...
10. **Web服务器管理**:掌握Tomcat、Resin、JRun等Web服务器的配置、扩展和维护。 11. **分布式对象与远程API**:学习RMI和RMI/IIOP,理解分布式计算的基础。 12. **中间件技术**:研究Tuxedo、CORBA以及JavaEE等...
具备管理和维护Web服务器(如Tomcat、Resin、JRun)的能力,以及在其上部署和优化Web应用程序的技术,是专业Java开发者不可或缺的技能。 #### 8. 分布式对象与远程API 理解并运用RMI(远程方法调用)和RMI/IIOP等...
熟练掌握Tomcat、Resin、JRun等Web服务器的安装、配置和管理,对于部署和维护Web应用至关重要。 #### 9. 远程方法调用与分布式计算 学习远程方法调用(RMI)、RMI/IIOP等技术,以及Java命名和目录接口(JNDI)、...
了解并能够管理Web服务器(如Tomcat、Resin、JRun),以及在其上部署和维护Web程序,是每个JAVA开发者的基本技能。 ### 9. 分布式对象与远程API RMI和RMI/IIOP等远程API允许你在分布式环境中调用对象,这对于构建...
学会使用Tomcat、Resin、JRun等Web服务器,进行Web应用的配置和部署。 #### 11. 远程调用API:RMI与RMI/IIOP 熟悉远程方法调用(RMI)和RMI/IIOP协议,实现分布式系统间的服务调用。 #### 12. Java事务服务 学习...
掌握Servlets、JSP、JSTL等Web开发技术,熟悉JSF、Struts、Tapestry等MVC框架,以及Tomcat、Resin等Web服务器的管理和维护,是成为Web开发高手的必经之路。 #### 十、分布式对象与远程API 理解RMI、RMI/IIOP等远程...