linux下使用JMX监控tomcat
2015-12-15 18:06
288 查看
1、JMX:
JMX(Java Management Extensions)Java管理扩展,是一个为应用程序植入管理功能的框架,是一套标准的代理跟服务。总而言之,它可以使得基于java语言开发的程序能被管理,并且是可扩展的。现在,IBM、jboss、hibernate、tomcat等各种应用都号称实现了JMX规范。
1)应用场景:
用来管理应用程序的配置项,可以在运行期动态改变配置项的值,而不用妨碍程序的运行,这对与许多可靠性要求较高的应用来说非常方便;
可以通过jconsole等JMX客户端工具动态改变配置项的值;
用来对应用程序的运行状态进行监控,比如对一个大型交易处理程序,我们要监控当前有多少交易在排队中,每笔交易的处理时间是多少,平均每处理一笔交易要花多少时间等等;
2、JConsole:
JConsole是从Java5中开始引入的一个用于对JVM性能和资源消耗进行监控的图形化工具。 JConsole可以连接本地的Java程序,也可以连接远程的Java程序。
1)可以使用jconsole监视本地应用程序和远程应用程序:
如下图,直接输入jconsole命令后,会弹出如下对话框。
如果监控本地程序,可以输入jconsole pid,其中pid是线程id;
如果监控远程程序,需要输入远程应用的ip和port,其中port是在启动应用是,使用java启动参数:-Dcom.sun.management.jmxremote.port=12345
指定的端口号。
2)远程连接时的认证:
可以使用下面的java启动参数指定远程服务器的用户认证:
-Dcom.sun.management.jmxremote.password.file=$J***A_HOME/jconsole/jmxremote.password
如果不需要认证,那么使用下面的java启动参数:
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
3、使用JConsole监控tomcat:
1)修改bin/catalina.sh文件,在#
-----Execute The Requested Command ------上面,加上如下内容:
CATALINA_OPTS="-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=9004
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
2)重启tomcat;
3)打开Jconsole,选择远程进程,然后输入远程tomcat
的ip和上面设置的端口(9004);
4)由于没有使用认证,所以会不安全下提示;
JMX(Java Management Extensions)Java管理扩展,是一个为应用程序植入管理功能的框架,是一套标准的代理跟服务。总而言之,它可以使得基于java语言开发的程序能被管理,并且是可扩展的。现在,IBM、jboss、hibernate、tomcat等各种应用都号称实现了JMX规范。
1)应用场景:
用来管理应用程序的配置项,可以在运行期动态改变配置项的值,而不用妨碍程序的运行,这对与许多可靠性要求较高的应用来说非常方便;
可以通过jconsole等JMX客户端工具动态改变配置项的值;
用来对应用程序的运行状态进行监控,比如对一个大型交易处理程序,我们要监控当前有多少交易在排队中,每笔交易的处理时间是多少,平均每处理一笔交易要花多少时间等等;
2、JConsole:
JConsole是从Java5中开始引入的一个用于对JVM性能和资源消耗进行监控的图形化工具。 JConsole可以连接本地的Java程序,也可以连接远程的Java程序。
1)可以使用jconsole监视本地应用程序和远程应用程序:
如下图,直接输入jconsole命令后,会弹出如下对话框。
如果监控本地程序,可以输入jconsole pid,其中pid是线程id;
如果监控远程程序,需要输入远程应用的ip和port,其中port是在启动应用是,使用java启动参数:-Dcom.sun.management.jmxremote.port=12345
指定的端口号。
2)远程连接时的认证:
可以使用下面的java启动参数指定远程服务器的用户认证:
-Dcom.sun.management.jmxremote.password.file=$J***A_HOME/jconsole/jmxremote.password
如果不需要认证,那么使用下面的java启动参数:
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
3、使用JConsole监控tomcat:
1)修改bin/catalina.sh文件,在#
-----Execute The Requested Command ------上面,加上如下内容:
CATALINA_OPTS="-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=9004
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
2)重启tomcat;
3)打开Jconsole,选择远程进程,然后输入远程tomcat
的ip和上面设置的端口(9004);
4)由于没有使用认证,所以会不安全下提示;
相关文章推荐
- MySQL Tomcat搭建
- eclipse启动tomcat报错: Error configuring application listener of class org.springframework.ContextLoader
- tomcat部署报错及解决办法
- tomcat7性能优化
- Tomcat下配置JNDI数据库连接池并使用
- linux下jdk和tomcat安装
- session过期时间
- Tomcat6.0的安装与配置(手把手教…
- 推荐:Tomcat与servlet区别与联系
- Tomcat集群配置学习篇----分布式应用
- Tomcat下直接通过ip访问自己的项目
- maven项目使用外部tomcat7并进行远程热部署
- Tomcat的JVM设置和连接数设置
- 换tomcat得不到结果出现404错误
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
- Windows Nginx Tomcat 集群负载均衡解决笔记
- tomcat ip限制
- Apache+tomcat集群 简易版环境搭建
- TOMCAT7启动报错
- 将Web项目War包部署到Tomcat服务器基本步骤