jmx配置远程监控


本文转载之http://zzone.iteye.com/blog/2171213

Jvisualvm监控tomcat性能

Linux 查看端口命令

lsof -i:端口号

 

 

 

服务器是linux,我们远程在window系统上监控

 

使用JMX方式

 

 

 

[root@bspdev jdk1.7.0_09]# cd $JAVA_HOME/jre/lib/management

[root@bspdev management]# pwd

/usr/java/jdk1.7.0_09/jre/lib/management

[root@bspdev management]# ls -l

total 28

-rw-r--r-- 1 root root  3998 Sep 25  2012 jmxremote.access

-rw-r--r-- 1 root root  2856 Sep 25  2012 jmxremote.password.template

-rw-r--r-- 1 root root 14097 Sep 25  2012 management.properties

-rw-r--r-- 1 root root  3376 Sep 25  2012 snmp.acl.template

 

首先利用password.template文件创建jmxremote.password文件,并且设置相应的读写权限。

[root@bspdev management]# cp jmxremote.password.template jmxremote.password

[root@bspdev management]# ls -l

total 32

-rw-r--r-- 1 root root  3998 Sep 25  2012 jmxremote.access

-rw-r--r-- 1 root root  2856 Jul  5 06:09 jmxremote.password

-rw-r--r-- 1 root root  2856 Sep 25  2012 jmxremote.password.template

-rw-r--r-- 1 root root 14097 Sep 25  2012 management.properties

-rw-r--r-- 1 root root  3376 Sep 25  2012 snmp.acl.template

[root@bspdev management]#

 

修改jmxremote.password的文件权限,否则报错必须限制口令文件读取访问权限:jmxremote.password

Chmod –R 600 jmxremote.password

将jmxremote.password中的权限部分注释标记去除。

# password "QED".  The "controlRole" role has password "R&D".

#

# monitorRole  QED

# controlRole   R&D

 

修改为:

 

monitorRole  QED

controlRole   R&D

 

"jmxremote.password" 64L, 2852C written

 

下一步修改Tomcat的启动语句,将bin/catalina.sh文件vi编辑:

   将原

   JAVA_OPTS="-Xmx1024M -Xms512M -Xss3M" 

   export JAVA_OPTS

   调整为

  CATALINA_OPTS="-Xmx1024M -Xms512M -Xss3M -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true" 

   export CATALINA_OPTS

 

注意这里不要使用JAVA_OPTS这个变量,否则会出现错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use

 

为什么会出现这个错误呢看官方的说法:

 

#   JAVA_OPTS       (Optional) Java runtime options used when any command 

#                   is executed. 

#                   Include here and not in CATALINA_OPTS all options, that 

#                   should be used by Tomcat and also by the stop process, 

#                   the version command etc. 

#                   Most options should go into CATALINA_OPTS. 

#   CATALINA_OPTS   (Optional) Java runtime options used when the "start", 

#                   "run" or "debug" command is executed. 

#                   Include here and not in JAVA_OPTS all options, that should 

#                   only be used by Tomcat itself, not by the stop process, 

#                   the version command etc. 

#                   Examples are heap size, GC logging, JMX ports etc. 

很明显  JAVA_OPTS变量会被任何命令执行时调用,而CATALINA_OPTS只是在启动、运行、调试的命令中才会被调用。

jmx配置参数

1、配置Tomcat catalina.sh 
找到# OS specific support. $var _must_ be set to either true or false.添加如下变量: 
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1090 --配置jmx远程监听端口1090,指定任意未被占用端口 
-Dcom.sun.management.jmxremote.authenticate=true --启用用户认证 
-Dcom.sun.management.jmxremote.ssl=false --禁用ssl 
-Djava.rmi.server.hostname=10.111.43.164 --绑定远程主机IP 
-Dcom.sun.management.jmxremote.acccess.file=/opt/apache-tomcat-7.0.2/jconsole/jmxremote.access --配置用户访问权限 
-Dcom.sun.management.jmxremote.password.file=/opt/apache-tomcat-7.0.2/jconsole/jmxremote.password" --配置用户信息,包括用户名和密码 
如果不需要配置访问用户名及密码,配置如下: 
# OS specific support. $var _must_ be set to either true or false. 
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1090 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-Djava.rmi.server.hostname=10.111.43.164" 
选项配置文件说明:$JAVA_HOME/jre/lib/mamagement/jmxremote.properties 
2、切换用户到root,修改/etc/hosts添加IP地址。添加如下信息: 
10.111.43.164 fmcods.localdomain fmcods localhost.localdomain localhost 
3、创建jmxremote.password、jmxremote.access文件 
#mkdir -p $JAVA_HOME/jconsole 
#cp $JAVA_HOME/jre/lib/management/jmxremote.password.template $JAVA_HOME/jconsole/jmxremote.password 
#cp $JAVA_HOME/jre/lib/management/jmxremote.access $JAVA_HOME/jconsole/jmxremote.access
修改文件权限: 
#chmod -R 775 jconsole 
此时提示错误: 必须限制口令文件读取访问: $JAVA_HOME/jconsole/jmxremote.password。 
解决办法:在$CATALINA_BASE目录下新建jconsole文件夹,访问文件权限必须是600 
#mkdir -p $CATALINA_BASE/jconsole 
复制jmxremote.password、jmxremote.access到$CATALINA_BASE/jconsole,修改文件权限 
#chmod -R 600 jmxremote.password 
#chmod -R 600 jmxremote.access 
4、$CATALINA_BASE/bin/shutdown.sh.出现连接端口被占用提示。 
5、ps -ef | grep 1090 --被占用端口 
6、kill -9 pid 
7、重启Tomcat.$CATALINA_BASE/startup.sh 
8、jconsole 远程连接

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
配置Tomcat进行JMX远程监控,你可以按照以下步骤进行操作: 1. 打开Tomcat的bin目录,找到catalina.sh文件。 2. 在catalina.sh文件的开头添加以下配置参数: -Dcom.sun.management.jmxremote.port=8989 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=139.224.42.51 这些参数将设置JMX远程监控的端口、身份验证、SSL以及远程主机的IP地址。\[1\] 3. 保存并关闭catalina.sh文件。 4. 进入Tomcat的bin目录,使用脚本重启Tomcat。可以执行以下命令: ./shutdown.sh ./startup.sh 这将重启Tomcat服务器。\[2\] 5. 重启完成后,可以使用以下命令检查1099端口是否已经开放: netstat -ant 这将显示端口状态,你可以查看1099端口是否处于监听状态。\[2\] 通过以上步骤,你就可以成功配置Tomcat进行JMX远程监控了。请确保按照指定的配置参数进行设置,并且重启Tomcat后检查端口状态。\[1\]\[2\] #### 引用[.reference_title] - *1* [tomcat 配置jmx远程监控](https://blog.csdn.net/true_hsf/article/details/52315684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Tomcat 开启远程监控JMX)](https://blog.csdn.net/weixin_41924764/article/details/108694239)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [tomcat开启jmx远程监控](https://blog.csdn.net/Entity_G/article/details/111316532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值