zoukankan      html  css  js  c++  java
  • jconsole和jvisualvm监控tomcat配置

    Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗,不失为一款好工具,Jconsole是一个基于JMX(java管理扩展)的GUI(图形)工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动,jconsole是java性能分析器

    环境说明
    服务器端:Linux(Centos6.4 + jdk1.6.0 + tomcat 7)
    客户端: Windows7 + jdk1.6.0

     

    Jconsole监控步骤
    1、配置tomcat的访问用户名和密码
    从linux系统中jdk的安装目录中拷贝一份修改,主要是增加用户和密码,并放入测试的tomcat的conf目录下
    a、进入tomcat目录:/usr/local/tomcat1/conf
    b、拷贝jdk的jmxremote.password.template到tomcat下,并命名为jmxremote.password,在tomcat的conf目录下执行:
    cp/usr/java/jdk1.7.0_79/jre/lib/management/jmxremote.password.template jmxremote.password,如下图:

    c、修改权限chmod 700 jmxremote.password,如下图

    d、增加用户信息(文档末尾增加自己的用户名密码)
    vi jmxremote.password
    用户名是controlRole
    密码是123456

    保存并退出

     

    2、配置tomcat的访问权限
    从linux系统中jdk的安装目录中拷贝一份修改,并添新增用户(jmxremote.password中新增的用户)的权限
    a、拷贝jdk的jmxremote.access文件到tomcat的conf下,在tomcat的conf目录下执行:
    cp/usr/java/jdk1.6.0_45/jre/lib/management/jmxremote.access jmxremote.accessm,如下图:

    b、修改文件权限:chmod 700 jmxremote.access,如下图:

    c、修改用户的访问权限
    vi jmxremote.access
    注释掉monitorRole readonly(已经注释的就不用注释了)
    注释掉controlRole readwrite(已经注释的就不用注释了)
    添加新用户的权限:controlRole readwrite,如下图:

     

    3、配置tomcat信息
    修改配置信息: vi /usr/local/tomcat1/bin/catalina.sh
    然后找到下面这句话
    # ----- Execute The Requested Command --------------------------------

    在这句话的上面添加配置信息
    # ----- JMX Config Start -----
    JAVA_OPTS="$JAVA_OPTS
    -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.2.199 -Dcom.sun.management.jmxremote.port=8111 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat1/conf/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat1/conf/jmxremote.password"
    export JAVA_OPTS
    # ----- JMX Config End -----
    保存一下,然后启动tomcat

    参数意义依次是:

    -Dcom.sun.management.jmxremote # 启用JMX远程监控
    -Djava.rmi.server.hostname=192.168.2.199 # 引入虚机IP,之前试了多次都是因为没放IP导致配置失败
    -Dcom.sun.management.jmxremote.port=8111 # 使用端口8111(可随意指定只要不冲突)
    -Dcom.sun.management.jmxremote.authenticate=true # 远程连接需要密码认证
    -Dcom.sun.management.jmxremote.ssl=false # 不使用SSL(SSL我试了多次都没有配置成功:P 暂时不开启)
    -Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat1/conf/jmxremote.access # 使用指定的JMX帐号授权文件
    -Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat1/conf/jmxremote.password # 使用指定的JMX帐号文件

     

    4、启动物理机测试
    在物理机的运行窗口输入jconsole,回车,输入虚拟机ip,catalina.sh中设置的端口号,jmxremote.password中的用户名、密码

     

    安装配置问题总结
    a、启动tomcat报错

    解决方案:
    执行hostname -i 命令,如果显示的是127.0.0.1,则需要修改/etc/hosts文件,否则jconsole无法连接,原因是服务器端解释机器名的问题
    vi /etc/hosts,修改如下:

    红框里是服务器IP和主机名

     

    b、端口被占用

    修改端口使不冲突:-Dcom.sun.management.jmxremote.port=8111
    c、虚机的防火墙和物理机的防火墙都要关闭
    d、要以管理员身份运行
    ps:正常情况下,应该不会遇到a和b这两种情况

     

    监控分析

    1、分析内存,gc

    通过对不同堆内存的选择,可以查看出内存使用情况,以及GC回收情况,分析是否存在瓶颈

     

    2、分析线程
    选择线程可以在右端看到线程的状态、阻塞、堆栈调用,以及图表中线程峰值、活动线程数

     

    3、分析类加载情况

    可看出类加载总数、当前加载数

     

    4、修改MBean(可管理资源)属性值

    可通过资源图来修改合适的对象资源属性

     

    jvisualvm监视远程的linux服务器上的tomcat
    1、配置tomcat信息
    同jconsole监控配置一样
    2、Jvisualvm开启
    在运行目录中输入jvisualvm,回车,或者在jdk的bin目录下双击jvisualvm.exe(以管理员身份运行最好)
    3、登录Jvisualvm
    a、添加远程主机:输入远程主机的ip即可
    b、在a中添加的远程主机下添加JMX连接:输入远程主机的ip、端口及用户名密码,如下图:

     

     4、监控

  • 相关阅读:
    百度编辑器如何能实现直接粘贴把图片上传到服务器中
    百度ueditor如何能实现直接粘贴把图片上传到服务器中
    ueditor如何能实现直接粘贴把图片上传到服务器中
    html+SpringMVC超大视频上传解决方案
    html+java超大视频上传解决方案
    html+JSP超大视频上传解决方案
    html+CSharp超大视频上传解决方案
    html+.net超大视频上传解决方案
    SAP 函数CRM_ORDERADM_I_PROD_DETERM_OW的单元测试方法
    SAP CRM Opportunity行项目Alternative ID的填充逻辑
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8733942.html
Copyright © 2011-2022 走看看