`

java jconsole 远程监控

 
阅读更多
jconsole 远程监控

一. windows 环境下的tomcat采用start.bat启动
二. windows 环境下的tomcat采用服务启动
三. linux 环境下tomcat采用catalina.sh启动
四. linux 环境下非tomcat的远程监控

不带密码验证的


一. windows 环境下的tomcat采用start.bat启动
--------------------
window 环境
采用start.bat启动
在doStart里添加
set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false




二. windows 环境下的tomcat采用服务启动
--------------------
通过win服务启动
在java的opts里添加上面的4项内容, 注意行尾不能带空格





最后, 使用jconsole连接




------------------------------
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/home/tomcat/domains/server2/oom.hprof

参数说明
1. -XX:+HeapDumpOnOutOfMemoryError 表示当JVM发生OOM时,自动生成DUMP文件。
2. -XX:HeapDumpPath=存储文件/目录 表示生成DUMP文件的路径



三. linux 环境下tomcat采用catalina.sh启动
--------------------
思路:
1. catalina.sh里把jconsole设置写给JAVA_OPTS
注意:
1. cagtalina.sh stop 时带有jconsole设置的端口号会执行失败
2. tomcat需要指定在JAVA_OPTS里指定hostname=192.168.0.106

实现:
1. 在catalina.sh里找到start的执行区, 把jconsole参数赋给JAVA_OPTS

JAVA_OPTS="-Djava.rmi.server.hostname=192.168.0.106 -Dcom.sun.management.jmxremote -Dcom.sun.man    agement.jmxremote.port=9015 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management    .jmxremote.ssl=false"

如图











四. linux 环境下非tomcat的远程监控
--------------------
linux环境
1.检查linux的hostname, 使用
hostname -i
命令, 如果不是显示127.0.0.1, 则代表成功
否则, 使用hostname命令修改, 如
hostname 10.1.16.25

2.检查端口号是否开通
可以使用netstat命令查看端口是否正常启动, 如
netstat -an | grep 9015


3.启动java程序, 注意-D的三个参数
java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9015 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -server -cp /local/MsgServer/lib/*:/local/MsgServer/bin dje.msgserver.app.App

*注1:由于-Dcom.sun.management.jmxremote.authenticate=false, 所以不需要输入用户名和密码

*注2:第1步是关键, 很多时候连不上linux都是这个原因

*注3:这上面的配置, 在没有防火墙的情况下是可以的, 但开了防火墙的话, 目前没有解决办法
原因分析:对于RMI来说, 需要2个端口, 1个是服务注册, 另1个是数据传输
很遗憾的是-Dcom.sun.management.jmxremote.port=9015指定的端口号是服务注册
另1个数据传输的端口号是随机的, 所以防火墙没办法提前预配置
要找出那个神秘的RMI数据传输端口, 可以通过:
1.抓包工具 (看图)
2.pid 和 netstat (看图)


通过抓包工具找端口



通过pid和netstat找端口















  • 大小: 99.6 KB
  • 大小: 48.5 KB
  • 大小: 32.8 KB
  • 大小: 29 KB
  • 大小: 37.7 KB
  • 大小: 34.4 KB
  • 大小: 132 KB
  • 大小: 58.1 KB
  • 大小: 78.5 KB
  • 大小: 84.3 KB
  • 大小: 69.3 KB
  • 大小: 79.2 KB
  • 大小: 69.3 KB
分享到:
评论

相关推荐

    JConsole_远程监控Tomcat_ricky

    JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。 其实在 JDK 5 中已经新加入了这个功能了. 现在的 JDK 已经内置了对 VM 的监控功能. JDK 6 中这个...

    kafka监控工具KafkaOffsetMnitor angularjs和css

    kafka监控工具KafkaOffsetMnitor 没有响应,需要修改offsetapp目录index.html ,进行本地化。压缩包文件就是所需要的文件。

    Linux下 通过jconsole远程监控weblogic

    2、在远程服务器上配置weblogic12c 修改$Domain_HOME/bin/setDomainEnv.sh  JAVA_OPTIONS=”${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=9000″  JAVA_OPTIONS=”${JAVA_OPTIONS} -Dcom.sun.management...

    JAVA JVM内存监控工具总结

    VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!...jconsole:一个javaGUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。

    Cubic java应用诊断工具.rar

    其中,JConsole和JVisualVM是图形化工具,可以用来监控JVM的运行状态、查看内存和CPU使用情况等;而jmap、jstack和jcmd是命令行工具,可以用来诊断内存泄漏、死锁等问题。 JConsole 作用:JConsole是一个监视和管理...

    Linux_XForward.zip

    本工具包包含设置X11 Forward的详细指导和...方便远程监控服务器资源,尤其是部署了docker容器的Java进程。容器化了以后监控非常麻烦,通过本指导可以比较方便的在远程服务器进行监控,大大提升了我们的远程监控能力。

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    虚拟机堆转储快照分析工具 / 84 4.2.6 jstack:Java堆栈跟踪工具 / 85 4.3 JDK的可视化工具 / 87 4.3.1 JConsole:Java监视与管理控制台 / 88 4.3.2 VisualVM:多合一故障处理工具 / 96 4.4 本章小结 / 105 第5...

    Java虚拟机

    4.3.1 JConsole:Java监视与管理控制台 4.3.2 VisualVM:多合一故障处理工具 4.4 本章小结 第5章 调优案例分析与实战 5.1 概述 5.2 案例分析 5.2.1 高性能硬件上的程序部署策略 5.2.2 集群间同步导致的内存...

    jboss-4.2.2

    jboss-4.2.2linux版本,eclipse,远程通过jconsole连接监控,启动脚本配置

    jprofiler6 windows版

    超级好用的java资源监控软件,功能比jdk自带的jconsole强大很多,只需要简单的配置几个参数,就可以远程监控服务器上的java程序,绝对是java程序猿调优程序的必备选择

Global site tag (gtag.js) - Google Analytics