• 【JMX】JMX远程监控JVM参数配置


    基本用法

    命令示例

    #参考命令
    java -Dcom.sun.management.jmxremote.port=19015 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false  -jar xxx.jar
    
    • 1
    • 2

    jconsole连接

    新建连接

    在这里插入图片描述

    确认连接方式

    如果启用ssl此确认提示将不出现
    在这里插入图片描述

    查看监控信息

    在这里插入图片描述

    jvisualvm连接

    添加主机

    在这里插入图片描述

    增加JMX连接

    在这里插入图片描述

    查看监控信息

    在这里插入图片描述

    参数说明

    基本参数

    参数说明
    -Djava.rmi.server.hostname=192.168.9.27jmx监听目标进程所在机器ip(本机IP),不指定时所有IP可用
    -Dcom.sun.management.jmxremote.port=19015jmx通讯端口
    -Dcom.sun.management.jmxremote.ssl=false是否启用ssl连接
    -Dcom.sun.management.jmxremote.authenticate=false是否需要认证
    -Dcom.sun.management.jmxremote.acccess.file=/data/jmxremote.access访问用户权限文件
    -Dcom.sun.management.jmxremote.password.file=/data/jmxremote.password访问用户密码

    jdk 8及之前: JRE提供的jmxremote.access和jmxremote.password文件默认位置在jre安装目录下的lib\management下
    jdk 11之后: 默认位置在JDK 安装位置conf\management下
    在这里插入图片描述

    jmxremote.access文件说明

    文件格式:

    1. 每行为一条配置
    2. 每条配置格式: 角色 访问级别类型
    3. 操作类型包括:

    readonly :监控角色,权限为只读,只能查看JVM状态。
    readwrite: 操作角色,允许访问MBean的读写属性,调用对它们的操作,并且可以选择以创建或删除它们。应授予此访问权限仅限于受信任的客户,因为他们可能干扰正在运行的程序的平稳运行。
    create:跟在readwrite访问级别后面,创建特定类别或与特定模式匹配的任何类别。通道应仅被授权创建已知和可信类的MBea
    unregister:跟在readwrite访问级别后面,授予注销权限(删除)MBean

    文件内容示例:

    monitorRole   readonly
    controlRole   readwrite \
                  create javax.management.monitor.*,javax.management.timer.* \
                  unregister
    
    • 1
    • 2
    • 3
    • 4

    jmxremote.password文件说明

    文件格式:

    1. 每行为一条配置
    2. 每条配置格式: 角色 密码
    3. 仅建议修改密码操作

    文件内容示例:

    monitorRole  QED
    controlRole   R&D
    
    • 1
    • 2

    文件权限异常

    密码文件只能由其所有者读取 具体要求可以查看jmxremote.password.template 中的注释
    Windows下提示:
    必须限制口令文件读取访问权限: D:/jmxremote.password
    修改文件访问控制权限

    cacls jmxremote.password /P 当前用户:R
    
    • 1

    Linux下的权限设置

    chmod -R 600 jmxremote.password 
    chmod -R 600 jmxremote.access 
    
    • 1
    • 2

    无法验证

    部分情况下按如上配置新角色及密码后无法正常验证,可考虑角色信息未生效,通过修改jmxremote.password 文件为monitorRolecontrolRole 这两个角色设置密码以绕过新增角色的坑

    monitorRole  newPwd
    controlRole   newpwd
    
    • 1
    • 2
  • 相关阅读:
    【机器学习】SVM入门-硬间隔模型
    linux查找命令使用的正则表达式
    深入理解.Net中的线程同步之构造模式(二)内核模式3.内核模式构造物Mutex
    重生之我是一名程序员 35
    Kafka重点笔记
    LeetCode链表练习(中)
    DDR4硬件原理图设计详解
    nginx + tomcat 搭建负载均衡、动静分离(tomcat多实例)
    python小玩意——图片转素描
    HomeView/主页 的实现
  • 原文地址:https://blog.csdn.net/master336/article/details/127904897