注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

0与1构筑世界,程序员创造时代

软件架构设计 Java编程

 
 
 

日志

 
 

JMX管理Tomcat/Resin  

2008-08-17 13:10:13|  分类: JMX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  文章声明

  
作者:
傲风(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



参考资料

<正文结束>

  评论这张
 
阅读(6894)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017