博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINUX配置JMX监控tomcat7
阅读量:6890 次
发布时间:2019-06-27

本文共 3491 字,大约阅读时间需要 11 分钟。

  hot3.png

    1) 正常安装JDK和Tomcat 配置环境变量(此步略过)

    2) 配置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
    3) 配置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帐号文件)
    # ----- JMX Config Start -----
    if [ "$1" = "run" ]; then
      JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10207 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password"
    elif [ "$1" = "start" ]; then
      JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10207 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password"
    fi

   

    # ----- JMX Config End -----

   也就是说需要在tomcat的bin下需要在catalina.sh下加入如下代码即可。

    # ----- JMX Config Start -----

    if [ "$1" = "run" ]; then
      JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10207 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=/usr/java/jdk1.6.0_32/jre/lib/management/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/usr/java/jdk1.6.0_32/jre/lib/management/jmxremote.password"
    elif [ "$1" = "start" ]; then
      JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10207 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=/usr/java/jdk1.6.0_32/jre/lib/management/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/usr/java/jdk1.6.0_32/jre/lib/management/jmxremote.password"
    fi
    # ----- JMX Config End -----
export JAVA_OPTS  (重要)

   然后我们要做的就是进入的/usr/java/jdk1.6.0_32/jre/lib/management下

   

  有个模板,拷贝一份作为jmxremote.password,切记,这个文件权限比较特殊,我用的时候用的400

   记得jmsremote.password最后

        monitorRole  QED

        controlRole   R&D

   前的注释去掉(系统自带的账号和密码,建议自己新增一个,新增的时候记得去jmxremote.access中付给账号读写权限) 

        然后就可以了。

       

       再就是注意一下hostname那部分,应该就直接可以在客户端输入jconsole然后输入IP地址,端口,账号,密码,你就可以监控tomcat了

        再次感谢@逝水fox大神

       vi /etc/hosts 修改主机名为外网IP地址,这个很重要,要不然连接不上...

转载于:https://my.oschina.net/boonya/blog/467920

你可能感兴趣的文章
优酷mac版视频怎么转码,如何将kux格式转成mp4格式
查看>>
Linux:Linux查找及压缩
查看>>
application.properties/application.yml文件中配置项
查看>>
微信小游戏子域和主域
查看>>
阿里工程师养了只“二哈”,专治讨厌的骚扰电话
查看>>
第一次开发PHP网页Hello PHP
查看>>
x86服务器与arm服务器
查看>>
Java职业规划,很详细,可以借鉴下
查看>>
Python -- Json 数据编码及解析
查看>>
深圳宏旺半导体宣布以“ICMAX”自主品牌正式进军中国半导体存储市场
查看>>
C4J私有化的小程序数据统计分析
查看>>
短信验证码免限
查看>>
Eclipse下如何查看ant版本
查看>>
rsync 和keepalive配置
查看>>
CentOS linux 下编译安装旧版本gcc
查看>>
乾颐堂军哥HCIE课程10-BGP的路由联邦实施以及团体属性操控路由
查看>>
make antd nested table show different data in different rows
查看>>
linux下内存的统计和内存泄露类问题的定位
查看>>
回调技术
查看>>
MySQL Group Replication (MGR) 安装
查看>>