1.jvisualvm监控tomcat

修改tomcat的bin目录下的 catalina.sh文件,搜索JAVA_OPTS="",在引号中添加参数

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS
-Djava.rmi.server.hostname=192.168.1.123
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false "

2.jvisualvm监控可执行jar

nohup java -Djava.rmi.server.hostname=192.168.1.123 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar test.jar &

3.打开本地JVisualVM,右击"远程"->添加添加远程主机(H),输入服务器地址

4.右击服务器地址->添加JMX连接,输入服务器地址和jmx端口

5.输入完成后即可监控到远程jar文件内存使用情况

可能出现异常情况:VisualVM 无法使用 service:jmx:rmi:///jndi/rmi:///jmxrmi 连接到xx.xx.xx.xx,关闭远程机器的防火墙即可
原因:除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,可以通过命netstat -tupln |grep <pid> 来查看当前java进程需要监听的随机端口号,将两个随机端口加入入站规则即可。
 

###开启用户认证

com.sun.management.jmxremote.authenticate=true
a)  jmx连接使用安全凭证,需要单独设置
 
b)  jar程序启动命令
java  -Djava.rmi.server.hostname=192.168.1.123 
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.access.file=/usr/local/jmxremote.access
-Dcom.sun.management.jmxremote.password.file=/usr/local/jmxremote.password -jar test.jar
c) jmxremote.access内容
admin readwrite
 jmxremote.access模板:

[用户名]      [权限]
d) jmxremote.password内容
admin 123456

jmxremote.password模板:

[用户名]       [密码]
test test
e) 两个文件授权
注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限 ,我们服务用root启动 ,必须按下面方式授权,chmod777都不行
chmod 600 jmxremote.access
chmod 600 jmxremote.password
chown root:root jmxremote.access
chown root:root jmxremote.password

如果权限设置不正确会报错:Error: Password file read access must be restricted

JConsole和VisualVM远程访问JMX的更多相关文章

  1. JConsole、VisualVM 依赖的 JMX 技术到底是什么

    我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...

  2. Jconsole或者VisualVM监控远程主机(阿里云,jdk11或者8)

    准备: 1 一个war包或者jar包,这里我用springboot的 2 linux环境,安装tomcat,jdk,我用的jdk11和tomcat9,jdk11和8的拷贝权限文件路径有点不一样,这个需 ...

  3. Using jconsole to connect to JMX on AS7

    Using jconsole to connect to JMX on AS7 https://developer.jboss.org/wiki/UsingJconsoleToConnectToJMX ...

  4. 利用VisualVm和JMX远程监控Java进程

    自Java 6开始,Java程序启动时都会在JVM内部启动一个JMX agent,JMX agent会启动一个MBean server组件,把MBeans(Java平台标准的MBean + 你自己创建 ...

  5. [工具使用] visualvm 通过jmx不能连接

    远程服务器,通常配置下jmx,然后用visualvm连接然后监控. 但昨天自己的一台测试服务器上,正确配置了jmx还是不能连接上去. 后来参考了 https://bjddd192.github.io/ ...

  6. JDK的可视化工具系列 (四) JConsole、VisualVM

    JConsole: Java监视与管理控制台 代码清单1: import java.util.*; public class JConsoleDemo { static class OOMObject ...

  7. 【二】JConsole、VisualVM

    监控工具 jconsole.exe 只有10几k,真正的代码是包装在tools.jar中. 双击[本地线程]:sun.tools.jconsole.JConsole: 内存的线在上下起伏,证明是[垃圾 ...

  8. 使用JConsole以及VisualVM进行jvm程序的监控,排错,调优

    这里只是做一个备份,便于以后继续. 添加两个感觉好的链接吧: http://www.linuxidc.com/Linux/2015-02/113420.htm http://blog.csdn.net ...

  9. Spring JMX之二:远程访问MBean

    虽然最初的JMX规范提及了通过MBean进行应用的远程管理,但是它并没有定义实际的远程 访问协议或API.因此,会由JMX供应商定义自己的JMX远程访问解决方案,但这通常又是专 有的. 为了满足以标准 ...

随机推荐

  1. Vue知识整理15:组件注册

    采用局部注册组件: 将代码放在vue的一个实例中,而不是单列申明.

  2. $.ajax函数调接口,报异常No converter found for return value of type: class java.util.ArrayList

    接口正常执行,返回给前端后报服务器500异常,异常详情: org.springframework.http.converter.HttpMessageNotWritableException: No ...

  3. Linux centos 解决"不在 sudoers 文件中。此事将被报告"的问题

    第一部分讲解如何从普通用户到root用户 网上看了很多,其实就是执行 su root ,然后输入当前用户密码,这个时候可能报错 这个问题不大,执行一下提示的语句: abrt-auto-reportin ...

  4. 2018.03.30 abap屏幕标签保存之前执行过的状态

    REPORT ZZJX_TEST09. *&---------------------------------------------------------------------* TAB ...

  5. Elasticsearch如何关掉服务

    1.使用head插件找到想关掉的节点进行关停 2.使用命令kill杀掉服务器的ES进程即可1.查找ES进程ps -ef | grep elastic 2.杀掉ES进程kill -9 2382(进程号) ...

  6. 【Qt开发】Qt中显示图像的两种方法对比

    在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能看到图片,初步发现有两种方法. 一.QImage转QPixmap,然后用QLabel::setPixmap( ...

  7. 关于cors 跨域的一些问题

    system.webServer节点写配置 <httpProtocol> <customHeaders> <add name="Access-Control-A ...

  8. python+selenium下弹窗alter对象处理01

    alt.accept() :                            等同于单击“确认”或者“OK” alt.dismiss() :                            ...

  9. SQL Server中的扩展事件学习系列

    SQL Server 扩展事件(Extented Events)从入门到进阶(1)——从SQL Trace到Extented Events SQL Server 扩展事件(Extented Event ...

  10. java通过正则进行语法分析实现表达式的逻辑判断和复杂计算实现

    首先功能展示: 相关功能实现,实现功能类似js,弱语言类型: 1.核销语法解析使用正则校验和匹配实现处理,每一行是一个完整表达式 2.有系统变量使用,内置的变量可直接获取值进行相关逻辑和条件计算 3. ...