使用JVisualVM 远程监控Tomcat程序中使用JMX鉴权访问

如何配置JVisualVM远程监控Tomcat程序请参考:http://hiandroidstudio.blog.51cto.com/5902332/1795310

1、配置JMX访问文件

    # cd $CATALINA_HOME/conf/
    # cp $JAVA_HOME/jre/lib/management/jmxremote.password.template jmxremote.password
    # chmod 700 jmxremote.password    (一定注意这个文件默认是不可写的)
    # vi $CATALINA_HOME/conf/jmxremote.password
    在最下面添加一个用户(第一个是用户名 第二个是密码)
    fox        123456

    # chmod 400 jmxremote.password    (要求该文件是任何用户均不可写的)
    # cp $JAVA_HOME/jre/lib/management/jmxremote.access jmxremote.access
    # vi jmxremote.access    (该文件是对jmx用户的授权)

    到最后一行 将
    monitorRole   readonly
    controlRole   readwrite
    注释 更改为
    # monitorRole   readonly
    # controlRole   readwrite
    然后在最后添加一行
    fox    readwrite

    # chmod 400 jmxremote.access

2、 配置Tomcat启动参数  

# cd $CATALINA_HOME/bin
    # vi catalina.sh

    找到以下一行
    # ----- Execute The Requested Command -----------------------------------------
    在其上方添加一段脚本 加在最后的目的是要沿用之前的JAVA_OPTS和CATALINA_HOME变量设置(特别是堆内存参数设置) 网上文章说法有直接设置JAVA_OPTS的 不过这样设置在stop的时候会有异常抛出 虽然不影响使用
    (参数意义依次是:
        -Dcom.sun.management.jmxremote 启用JMX远程监控
        -Dcom.sun.management.jmxremote.port=9004 使用端口9004(可随意指定只要不冲突)
        -Dcom.sun.management.jmxremote.authenticate=true 远程连接需要密码认证
        -Dcom.sun.management.jmxremote.ssl=false 不使用SSL(SSL我试了多次都没有配置成功:P 暂时不开启)
        -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access 使用指定的JMX帐号授权文件
        -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password 使用指定的JMX帐号文件)

重新启动远程Java程序后,再次配置JVisualVM JMX连接就好了。

时间: 2024-07-30 13:23:53

使用JVisualVM 远程监控Tomcat程序中使用JMX鉴权访问的相关文章

jvisualvm远程监控Tomcat

一.Java VisualVM 概述 对于使用命令行远程监控jvm 太麻烦 . 在jdk1.6 中 Oracle 提供了一个新的可视化的. JVM 监控工具 Java VisualVM .jvisualvm.exe 在JDK 的 bin 目录下. 双击启动 Java VisualVM 后可以看到窗口左侧 “应用程序 ”栏中有“ 本地 ”.“远程 ” .“快照 ”三个项目. “本地 ”下显示的是在 localhost 运行的 Java 程序的资源占用情况,如果本地有 Java 程序在运行的话启动 

如何使用JVisualVM远程监控和优化Tomcat和Java程序的内存和CPU

如何使用VisualVM远程监控和优化Tomcat和Java程序的内存和CPU JVisualVM 是Java 继 JConsole 之后有一款力作,是集成了诸多分析和优化Java程序的工具的工具. 我们可以用它来为优化Java程序的内存占用,找出内存泄漏,分析Java程序的CPU占用情况,根据JVisualVM获取到的数据优化JVM配置等.   总之是相当好了~~~~ JVisualVM 位于JAVA_HOME/bin目录下 . 直接运行可打开. 打开后界面如下: 由于JVisualVM 本身

使用Java VisualVM远程监控Tomcat

1. Tomcat环境变量指定的好习惯 安装完Tomcat之后,配置CATALINA_HOME和CATALINA_BASE环境变量,如果需要指定环境变量或者JVM参数值,根据catalina.sh文件中的注释说明单独在setenv.sh或者setenv.bat文件中指定,这样catalina.sh在执行的时候会自动读取. 2. 配置启用Tomcat JMX Remote Java Visual VM远程监控Tomcat,配置参见: JAVA_OPTS=" -Djava.rmi.server.ho

jvisualvm 远程监控Linux下的tomcat

前一段测试系统崩溃过一回,所以想远程监控一下jvm的运行情况,我在网上也找了不少文章和办法,试了好几次都没成功,今天算试成功了,但是不太 完美,因为需要将Linux的防火墙关掉才可以连接,我尝试将连接的端口号加到iptables中,重启防火墙,也不行.所以先记录下来,以后再看看是什 么问题. 1.linux下tomcat安装目录下的bin文件夹中的catalina.sh 端口号:1099,Linux主机IP: 192.168.193.129 检查host是否是127.0.0.1 , 执行命令 h

JVisualVM远程监控

本文主要转自:http://blog.iamzsx.me/show.html?id=394002 http://www.wl566.com/wz/64022.html 1. 通过JMX方式监控远程linux上运行java程序 远程服务器: 要求在执行java程序时,加入若干参数: java -Dcom.sun.management.jmxremote.port=40124 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.

jvisualvm.exe监控tomcat、jdk配置

本地监控:只要打开某个JAVA程序就会自动的加入到本地监控中.远程监控:要进行远程监控, 本机的VisualVM就必须和远程的JVM要进行通信, Visualvm目前支持两种remote connection方式.分别是jstatd和JMX方式: 通过JMX连接远程机器, 需要经过下面的配置:1. 修改远程机器JDK配置文件 (我这里远程机器是linux).   a.进入$JAVA_HOME\jre\lib\management\目录   b.拷贝jmxremote.password.templ

java-jvisualvm远程监控tomcat

一.修改要访问的远程主机(Linux)相关文件,本文档只介绍了java-jvisualvm的JMX方式: 1.打开$CATALINA_HOME/bin/startup.sh, 找到倒数第二行(也就是exec "$PRGDIR"/"$EXECUTABLE" start "[email protected]"一行上边)加上如下内容: export CATALINA_OPTS="$CATALINA_OPTS-Dcom.sun.manageme

jVisualVM远程监控配置

jVisualVM可以理解为JConsole的升级版本,对java程序及JVM虚拟机的监控更为全面. 下面简单记录下远程配置JVisualVM的方法: 1.需要创建jstatd.all.policy文件,内容: grant codebase "file:${java.home}/../lib/tools.jar" {         permission java.security.AllPermission; }; 2.启动 jstatd -J-Djava.security.poli

jvisualvm远程监控jvm设置

有些时候,需要对特定环境中的Java应用进行实时性能分析,大部分非开发和测试环境,一般都是用jvisualvm进行基本检测以最小化对系统的影响(其开启后,负载影响大约20%-30%),jvisualvm没有提供cli模式,只提供了GUI.在centos 6之后,默认不在安装图形化窗口如gnome,在有些生产环境中,因为网络和其他限制,无法通过系统盘或者yum安装相关界面.此时我们就需要预先在java启动脚本中进行JMX开启,在tomcat中,如下: export CATALINA_OPTS="$