`
zzone
  • 浏览: 2697 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论

VisualVM远程监控JMX配置方法介绍

阅读更多

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.passwordjmxremote.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.passwordjmxremote.access$CATALINA_BASE/jconsole,修改文件权限 
#chmod -R 600 jmxremote.password 
#chmod -R 600 jmxremote.access 
4$CATALINA_BASE/bin/shutdown.sh.出现连接端口被占用提示。 
5ps -ef | grep 1090 --被占用端口 
6kill -9 pid 
7、重启
Tomcat.$CATALINA_BASE/startup.sh 
8jconsole 远程连接

其他参考

http://blog.markshead.com/1129/connecting-visual-vm-to-tomcat-7/

http://blog.itpub.net/17203031/viewspace-765810/

http://ihuangweiwei.iteye.com/blog/1219302

 

 

0
1
分享到:
评论

相关推荐

    visualvm监控jvm及远程jvm监控方法

    - **监控远程应用**:连接成功后,远程JVM的监控功能与本地应用相同,可以进行性能监控、内存分析等操作。 5. **使用插件扩展功能** VisualVM的插件中心提供许多扩展,如JProfiler、NetBeans Profiler等,可以...

    jvisualvm远程访问Linux环境中tomcat

    jvisualvm 远程访问 Linux ...使用 jvisualvm 远程访问 Linux 环境中的 Tomcat 需要安装和配置 jdk 和 Tomcat,然后使用 jvisualvm 的 JMX 方法或 jstatd 方法进行监控,最后添加 Visual GC 插件以获取更多的监控信息。

    VisualVm虚拟机监控工具

    VisualVM支持JMX(Java Management Extensions),允许远程监控和管理Java应用程序。开发者可以通过JMX连接到应用,获取运行时信息,甚至修改应用程序的配置。 六、插件扩展性 VisualVM的一大亮点是其强大的插件...

    JMX配置与使用

    **JMX配置与使用** Java Management Extensions (JMX) 是Java平台的一项标准技术,它提供了一种管理和监视Java应用程序的方法。通过JMX,开发者可以创建管理接口,暴露应用程序的内部状态,如性能指标、资源使用...

    JMX 远程服务器信息监控

    在本场景中,我们关注的是如何利用JMX来远程监控服务器上的关键资源,如CPU利用率、内存状态、已加载类的数量以及堆内存信息。下面将详细探讨这些知识点。 一、JMX 概述 JMX 是一种服务导向架构,它定义了管理和...

    VisualVM介绍

    要设置远程监控,需确保远程JVM启用JMX,并配置了正确的端口和访问权限。在VisualVM中,可以通过“文件”->“打开远程主机”来添加远程服务器。 总结来说,VisualVM是一个强大的Java性能分析工具,它通过丰富的视图...

    tomcat开启远程jmx连接方式

    **Tomcat开启远程JMX连接方式详解** Java Management Extensions (JMX) 是Java...通过JMX,你可以使用各种工具(如JConsole、VisualVM、JMX Console插件等)进行远程监控,以便更好地管理和优化Tomcat服务器的性能。

    jmx-jvm配置

    2. **安全配置**: 为了防止未经授权的访问,需要配置JMX安全策略,包括设置访问控制和认证。 3. **端口设置**: JMX默认使用随机端口,可通过`-Dcom.sun.management.jmxremote.port`指定固定端口。 4. **连接器配置...

    jmxdemo.rar

    5. 如何在VisualVM中配置JMX连接,监控远程应用。 通过深入研究jmxdemo的源代码,你将能更好地掌握JMX的用法,了解如何在实际项目中运用这一强大工具来管理和监控Java应用。同时,VisualVM的使用也能提升你对Java...

    JMX-how-to-use.rar_jmx_服务器_远程监控 文件

    要实现远程监控,需要配置JMX RMI服务,让JMX服务器暴露一个RMI注册表,允许远程客户端连接。这通常涉及到在Java虚拟机(JVM)启动时添加特定的系统属性,如`com.sun.management.jmxremote`、`...

    visualvm_137中文版

    VisualVM支持JMX(Java Management Extensions),可以远程监控和管理Java应用程序,这对于分布式系统和集群环境尤其有用。 6. **插件扩展** VisualVM的可扩展性很强,拥有丰富的插件库。开发者可以根据需要安装...

    可视化性能监控工具VisualVM

    2. **连接远程JVM**:如果需要监控远程Java应用,需要在目标机器上配置JDK的`jvm.options`文件,开启远程监控端口,然后在VisualVM中添加远程主机。 3. **选择分析模块**:根据需求选择合适的分析模块,例如选择...

    jvm监控工具visualVM

    支持通过JMX(Java Management Extensions)接口远程监控Java应用,获取自定义的MBean(Managed Beans)信息。 6. **内存快照** 提供内存快照功能,可以对比不同时间点的内存分配情况,帮助识别内存泄漏。 7. **...

    java jvisualvm 监控weblogic配置方法

    要监控远程服务器上的 Java 应用程序,如 WebLogic 服务器,需要进行额外的配置。 ##### 1. 添加远程主机 - 在 Java VisualVM 中选择“远程”标签页,然后右键点击并选择“添加远程主机”选项。 - 输入要监控的...

    visualvm 教程 介绍 性能调优

    5. **JMX支持**:可以连接到远程JVM,进行远程监控和管理。 三、使用步骤 1. **安装与启动**:VisualVM通常随JDK一同安装,位于`安装目录>\bin\visualvm.exe`。启动后,可以自动发现本地的Java进程,也可以手动...

    最新版windows visualvm_204.zip

    6. **JMX支持**:VisualVM可以通过JMX(Java Management Extensions)接口连接远程Java应用,实现远程监控和管理。 7. **插件扩展**:VisualVM支持丰富的第三方插件,如JProfiler、YourKit等,进一步扩展其功能,...

    JVM性能监控方法之visualVM1

    在远程服务器上启动Java应用程序时,可以通过添加特定的JMX参数来开启远程监控功能。例如,如下命令展示了如何配置JMX地址、端口等信息: ```sh nohup java -Xms512m -Xmx2048m -XX:PermSize=64m -XX:MaxPermSize...

    Java VisualVM监控远程JVM(详解)

    本文将详细介绍如何通过 JMX 方式配置并监控远程的 JVM 进程。 首先,要通过 JMX 方式监控远程 JVM,需要在远程主机上配置一些参数。具体步骤如下: 1. 修改远程主机的 JDK 配置文件,以便远程主机的 JMX 服务能够...

    visualVM 1.42

    对于远程连接,VisualVM支持JMX远程监控,只需在JVM启动时添加适当的JVM参数即可。此外,VisualVM还支持插件扩展,可以通过安装各种社区开发的插件来增强其功能,比如对特定框架或库的性能分析支持。 在优化Java...

Global site tag (gtag.js) - Google Analytics