开发者社区 问答 正文

如何在 Jconsole 监控 Jboss Tomcat?

如何在 Jconsole 监控 Jboss Tomcat?请大神指点一二。

展开
收起
落地花开啦 2016-03-23 16:21:41 2408 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    Java在jdk5开始就自带有Jconsole了,要想用Jconsol监控且需要添加启动参数:
    Linux系统:
    `JAVA_OPTS="$JAVA_OPTS

    -Dcom.sun.management.jmxremote.port=8950
    -Dcom.sun.management.jmxremote.authenticate=false 
    -Dcom.sun.management.jmxremote.ssl=false"`

    Windows系统也类似,去掉双引号,将环境变量符 号$JAVA_OPTS 变成现在%JAVA_OPTS %即可。

    这样就能在本机使用Jconsole监控了:jconsole localhost:8950。

    要实现远程监控还要与IP绑定,添加参数:
    -Djava.rmi.server.hostname=192.168.10.31

    若要实现使用用户名登陆,修改参数-Dcom.sun.management.jmxremote.authenticate=true;
    添加启动参数:-Dcom.sun.management.jmxremote.password.file=$JAVA_HOME/jre/lib /management/jmxremote.password ;
    然后进行以下配置:

    1. 把 JRE_HOME/lib/management/jmxremote.password.template拷贝为 jmxremote.password。
    2. 去掉此目录下 jmxremote.access 最后两行的注释,这个存的就是用户名和权限。
    3. 对应的,去掉 jmxremote.password 最后两行注释,这个是用户名和对应的密码。
    4. 通过添加和修改这两个文件来管理登陆用户。

    最后,要修改jmxremote.password文件的权限chkmod 600 jmxremote.password。
    就可以在Jconsole里实现远程监控了:
    远程进程 192.168.10.31:8950
    service:jmx:rmi:///jndi/rmi://192.168.10.31:8950/jmxrmi

    2019-07-17 19:11:28
    赞同 展开评论