Tomcat、JVMj的监控

Tomcat、JVM性能指标监控

一、      监控工具的选取

         JDK本身提供了很多方便的性能调优监控工具,比较常用的可视化性能监控工具有Jconsole,VisualVM,YourKit Java Profiler。而Jconsole是比较轻量级的开源免费的监控工具,提供的MBean对象封装有所有的性能参数信息,可以通过它提供的api很轻松的获取当前的性能参数信息,可视化界面中MBean结构如下图:

Tomcat、JVMj的监控_第1张图片

二、      设置本地监控

1.        Jconsole是可执行的文件,在JAVA_HOME\bin目录中,如果配置过系统路径直接在命令行键入Jconsole来启动Jconsole,否则命令行键入完整的Jconsole.exe文件的路径后启动   ,如下图:

Tomcat、JVMj的监控_第2张图片


                   登录界面如下图:


Tomcat、JVMj的监控_第3张图片

2.        监控特定的应用程序,可通过进程的ID连接到该应用程序,此应用程序必须和Jconsole运行在相同的用户ID下,监控Jconsole程序运行如下图:

Tomcat、JVMj的监控_第4张图片

图:可视化监控界面 

3.        在Windows系统上,可以使用任务管理器,找到应用程序的PID,如下图所示:

Tomcat、JVMj的监控_第5张图片

图:windows任务管理器界面

4.        Jconsole和被监视的应用程序必须运行在相同的用户下,并且拥有管理和监控系统的权限。

三、      设置远程监控

1.        必须开启service服务,在tomcat安装的bin目录下双击tomcatXw.exe,例如tomcat7w.exe,设置java的启动参数

 

2.        如果开启不了,需安装service服务,cmd命令行cd到tomcat的bin目录键入service install.安装服务如图1,重新打开tomcatXw.exe,点击java选项设置启动参数,如图2:

Tomcat、JVMj的监控_第6张图片

图1:安装tomcat服务

         1) 不需要用户名密码远程连接的启动参数配置

Dcom.sun.maagement.jmxemote.prot=8999

Dcom.sun.maagement.jmxemote.ssl=false

Dcom.sun.maagement.jmxemote.autherticate=false

         2) 需要用户名密码的验证登录的启动参数配置

Dcom.sun.maagement.jmxemote.prot=8999

Dcom.sun.maagement.jmxemote.ssl=false

Dcom.sun.maagement.jmxemote.autherticate=true

Dcom.sun.maagement.jmxemote.access.file="D:\Program Files\ jdk1.8.0_77\jre\lib\management\ jmxemote . access "


Dcom.sun.maagement.jmxemote.password.file=" D:\ProgramFiles\ jdk1.8.0_77\jre\lib\management\ jmxemote . password "

如下图位置配置:

Tomcat、JVMj的监控_第7张图片

图2:启动参数配置

3.        在Jconsole上点击远程连接,输入远程ip地址和配置的端口号点击连接,如下图:


Tomcat、JVMj的监控_第8张图片

图:远程登录连接

连接后的界面如下图:

Tomcat、JVMj的监控_第9张图片

图:远程连接后的可视化界面

四、      程序代码

程序代码地址:https://xxsrd.f3322.org/svn/HDZX/Android/DOC/TomcatJVM

1)        使用Jconsole提供的api连接Jconsole,如下图:

Tomcat、JVMj的监控_第10张图片

图:api连接Jconsole

2)        JVM部分的监控,如下图:


Tomcat、JVMj的监控_第11张图片

图:JVM部分的代码

3)        Tomcat部分的监控,如下图:

Tomcat、JVMj的监控_第12张图片

图:Tomcat部分的代码

五、      运行结果

1)        JVM的监控运行结果,如下图:


Tomcat、JVMj的监控_第13张图片

图:JVM监控结果

 

 

 

2)        Tomcat的监控运行结果

Tomcat、JVMj的监控_第14张图片

图:Tomcat监控结果

六、      如何更改tomcat的进程名字

         打开tomcat_home\bin\setclasspath.bat文件,找到set_RUNJAVA="%JRE_HOME%\bin\java.exe",将该行注释掉或删除掉然后添加下面两行代码后保存:

copy "%JAVA_HOME%\bin\java.exe" "%JAVA_HOME%\bin\ my_tomcat.exe"

set_RUNJAVA="%JAVA_HOME%\bin\my_tomcat.exe",其中my_tomcat就是你所起的进程名字(在windows任务管理器中显示的名字),之后重启tomcat,配置位置如下图:


Tomcat、JVMj的监控_第15张图片

图:setclasspath.bat配置信息

windows任务管理器中显示如下:

Tomcat、JVMj的监控_第16张图片

图:tomcat进程名字更改结果

七、      注意事项

1.        远程连接tomcat前必须先检查service.bat服务是否安装开启,缺省情况下tomcat的服务是关闭的,可以通过命令行cd到tomcat的bin目录键入service install命令安装服务

2.        配置JVM的启动参数,通过tomcatXw.exe的java选项来配置jvm的端口号,设置登录模式为安全模式。

3.        防火墙必须开放你所设置的jvm端口号。

4.        如果你的连接模式为用户名密码验证登录,修改jmxremote.access文件如图1,修改jmxremote.password文件的权限为只有owner可读
如图2。

Tomcat、JVMj的监控_第17张图片

图1:修改jmxremote.access文件

 

修改jmxremote.password添加内容,如图2:

Tomcat、JVMj的监控_第18张图片

图2:修改jmxremote.password添加内容

此时远程连接登录所使用的用户名为admin密码是123。

 

你可能感兴趣的:(it,java)