jmx管理、监控tomcat
2014-10-14 19:05
274 查看
OS:xp
jdk:1.6
Tomcat:6.0.29
1.Java的环境变量配置正确,网上很多,不再说了
2.修改Tomcat目录下的bin\catalina.bat
在该文件中查找set JAVA_OPTS=%JAVA_OPTS%,下面有一行为:
rem ----- Execute The Requested Command---------------------------------------
在这一行的下面加
set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
说明:9008为端口号,一会儿要用到。很多地方说tomcat需要权限验证,可是我这里没有用到,就可以连接成功,所以没有测试密码文件,仅将Dcom.sun.management.jmxremote.authenticate的值设为false。
linux下:
在需要监控的tomcat_home/bin/catalina.sh(linux)文件中添加下面语句:
JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
找到 MBean->Catalina -> WebModule -> //localhost/ -> none -> none 之后
就可以看到 属性 、操作 、通知
而我们要用到的则是这里面的操作功能了。
这里面有reload ,start , stop,等等,相信大家都明白了。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限,我们服务用root启动 所以:
如果权限设置不正确会报错:Error: Password file read access must be restricted
jmxremote.password模板:
jmxremote.access模板:
远程机器的程序需要加上JVM参数:
另外需要检查
解决方法一:
可以使用如下的参数手动指定 hostname 或者 ip 地址
解决方法二:
修改/etc/hosts文件下的localhost对应的IP(127.0.0.1)地址,改为linux自身的IP如10.0.0.157.
解决方法三(推荐):
hostname 192.168.175.128
jdk:1.6
Tomcat:6.0.29
1.Java的环境变量配置正确,网上很多,不再说了
2.修改Tomcat目录下的bin\catalina.bat
在该文件中查找set JAVA_OPTS=%JAVA_OPTS%,下面有一行为:
rem ----- Execute The Requested Command---------------------------------------
在这一行的下面加
set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
说明:9008为端口号,一会儿要用到。很多地方说tomcat需要权限验证,可是我这里没有用到,就可以连接成功,所以没有测试密码文件,仅将Dcom.sun.management.jmxremote.authenticate的值设为false。
linux下:
在需要监控的tomcat_home/bin/catalina.sh(linux)文件中添加下面语句:
JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
找到 MBean->Catalina -> WebModule -> //localhost/ -> none -> none 之后
就可以看到 属性 、操作 、通知
而我们要用到的则是这里面的操作功能了。
这里面有reload ,start , stop,等等,相信大家都明白了。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
另一种配置------认证配置
#指定hostname 一般情况需要重新指定hostname,否则连接不成功 -Djava.rmi.server.hostname=192.168.0.147 #指定hostname 指定端口默认:1099 -Dcom.sun.management.jmxremote.port=8899 #禁止ssl连接 com.sun.management.jmxremote.ssl=false #开启用户认证 com.sun.management.jmxremote.authenticate=true #认证用户名密码 -Dcom.sun.management.jmxremote.password.file=/opt/home/lichengwu/jvm/management/jmxremote.password #访问模式 -Dcom.sun.management.jmxremote.access.file=/opt/home/lichengwu/jvm/management/jmxremote.access
注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限,我们服务用root启动 所以:
[root@dog:management]# chmod 600 * [root@dog:management]# chown root:root * [root@dog:management]# ll total 8 -rw------- 1 root root 29 Nov 14 16:38 jmxremote.access -rw------- 1 root root 26 Nov 14 16:38 jmxremote.password [root@dog:management]#
如果权限设置不正确会报错:Error: Password file read access must be restricted
jmxremote.password模板:
[用户名] [密码] mtct ct.meituan test test
jmxremote.access模板:
[用户名] [权限] mtct readwrite test readonly
#说明 #tomcat的jvm参数 JAVA_OPTS="-server -XX:PermSize=128M -XX:MaxPermSize=256M -Xms1024M -Xmx1024M -Xmn384M -XX:SurvivorRatio=8 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=10 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=20 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access" #jmxremote.access和jmxremote.password文件只允许启动用户名对该文件拥有读写权限,把这两个文件放到tomcat的conf目录下 chmod 600 jmxremote* chown root:root jmxremote*
远程机器的程序需要加上JVM参数:
另外需要检查
hostname –i,看解析出来是否为本地的IP,如是127.0.0.1或者IP为多个IP中之一,则其他的IP无效,会连接不上。
解决方法一:
可以使用如下的参数手动指定 hostname 或者 ip 地址
解决方法二:
修改/etc/hosts文件下的localhost对应的IP(127.0.0.1)地址,改为linux自身的IP如10.0.0.157.
解决方法三(推荐):
hostname 192.168.175.128
相关文章推荐
- jmx管理、监控tomcat
- 利用JMX 监控 tomcat
- JMX监控Tomcat
- 通过JMX监控管理weblogic的运行
- 利用JMX监控Tomcat集群
- 运用JMX远程监控、管理JVM
- 解决tomcat启动jmx远程管理后不能正常关闭问题
- linux下使用JMX监控tomcat
- JMX获取tomcat监控信息
- 使用JMX监控Tomcat(监控应用服务器系列文章)
- 使用JMX监控Tomcat(监控应用服务器系列文章)
- JMX管理Tomcat/Resin
- 深入JMX(Java管理扩展)开发中管理和监控的解决方案
- 基于JMX,用MC4j远程监控 Tomcat
- 使用JMX监控Tomcat(监控应用服务器系列文章)
- JMX监控Tomcat
- JMX监控Tomcat
- 通过JMX监控管理weblogic的运行
- JMX监控Tomcat
- JMX监控-tomcat