监控Tomcat
监控Tomcat
无论是使用Zabbix、还是jconsole等其他工具,当需要监控Tomcat时,需对Tomcat进行jmx配置。此处以Linux系统为例,配置Tomcat。
注意:
下文中出现的:$TOMCATHOME 代表Tomcat安装的路径;$JAVA_HOME代表Java jdk的安装路径。
如果,将Tomcat安装在: /u01/app/tomcat 这个目录中,那么$TOMCATHOME= /u01/app/tomcat
- 在$TOMCATHOME/bin/catalina.sh中的CATALINA_OPTS 属性中添加如下内容:
  
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.rmi.port=8999 -Djava.rmi.server.hostname=192.168.43.130 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/u02/app/svnadmin-tomcat/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/u02/app/svnadmin-tomcat/conf/jmxremote.access"
| -Dcom.sun.management.jmxremote.port | 代表jmx监控的端口,这个端口号自定义,只要端口不冲突即可。 | 
| -Djava.rmi.server.hostname | 这个配置当前系统的ip地址 | 
| -Dcom.sun.management.jmxremote.ssl | 我也不知道这个干啥用的,看官网配置时就有:http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html#Enabling_JMX_Remote | 
| -Dcom.sun.management.jmxremote.authenticate | 是否需要密码验证,配置true:需要密码。如果配置false下面两项就无需配置 | 
| -Dcom.sun.management.jmxremote.password.file | 配置监控的账户密码 | 
| -Dcom.sun.management.jmxremote.access.file | 配置监控账户 | 
- 拷贝$JAVA_HOME/jre/lib/management 中的两个文件:jmxremote.access、jmxremote.password.template 至 $TOMCATHOME/conf 目录中
注意:
$TOMCATEHOME/conf文件夹下的jmxremote.password.template 名字需要重新命令:jmxremote.password
指令:mv jmxremote.password.template jmxremote.password
- 在$TOMCATHOME/conf中的配置文件中(jmxremote.access)添加用户名:charles(用户名自定义),在配置文件(jmxremote.password)文件中添加用户名和密码:charles charles@1314
jmxremote.access 文件:
在文件最下方,注释了monitorRole readonly ,在上面新增了一行:charles readonly
      
jmxremote.password 文件
在文件最下方,新增一行:charles Charles@1314
      
- 配置jmxremote.access和jmxremote.password 权限为:600
指令: chmod 600 jmxremote.*
    
- 使用root用户配置 /etc/hosts文件,添加 :本机IP 本机主机名
指令:vim /etc/hosts
    
添加完成后,测试ping 一下,是否能ping通? 我的能ping通,说明没问题。
    
- 重启应用服务器
    
指令:
ps -ef | grep java ,查看Tomcat的进程PID
kill -9 进程 PID
cd $TOMCATHOME/bin
sh startup.sh
- 测试:使用jconsole远程连接监控

  
注意:
由于虚拟机中的linux系统没有关闭防火墙,所以我在宿主机上初次远程链接的时候没有成功。经排查,是由于防火墙原因。在虚拟机中将8999端口释放即可。或者关闭防火墙。
  
释放8999端口指令:
vim /etc/sysconfig/iptables
添加一行:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8999 -j ACCEPT
重启防火墙:service iptables restart
    
如有问题,欢迎纠正!!!
如有转载,请标明源处:https://www.cnblogs.com/Charles-Yuan/p/9735293.html
监控Tomcat的更多相关文章
- LoadRunner 实现监控Tomcat
		LoadRunenr没有监控Tomcat的专用监控器,为了用lr达到监控tomcat的目的可以通过打开Tomcat自带的Status页面之后,利用lr的关联技术得到相关的数据,把数据输出到lr自定义的 ... 
- linux上监控tomcat down掉后自动重启tomcat
		p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ... 
- LoadRunner如何监控Tomcat性能
		使用LoadRunner做性能测试,一般的直觉是LR只能完成脚本录制和编写模拟用户的请求行为,但是在某些情况下,要监控一些中间件或web服务器的性能时,就不能通过录制脚本来完成了,那么就需要手工来编写 ... 
- 运用JMX监控Tomcat/Java jvisualvm简要说明
		公司线上项目出现了java heap space 然后经过查询知晓了下面工具于是开始了尝试. visualvm能干什么:监控内存泄露,跟踪垃圾回收,执行时内存.cpu分析,线程分析... jvisua ... 
- 【转】使用JDK自带jvisualvm监控tomcat
		转载地址: http://my.oschina.net/kone/blog/157239 jdk自带有个jvisualvm工具.该工具是用来监控java运行程序的cpu.内存.线程等的使用情况.并且使 ... 
- Jconsole 监控tomcat
		通过jconsole监控可以获取监控tomcat的相关的数据信息 如何通过代码来获取其中的线程和内存状况呢? 首先要配置好jconsole监控的相关配置,一搜基本就是那一个, 配置配不好的话接下来的工 ... 
- 使用JDK自带jvisualvm监控tomcat
		国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ... 
- 性能测试中用LambdaProbe监控Tomcat Tomcat和Probe的配置
		转载:http://bbs.51testing.com/thread-90047-1-1.html 性能测试中用LambdaProbe监控TomcatLambdaProbe 是一款强大的免费开源工具, ... 
- 如何监控 Tomcat?Zabbix 与 Cloud Insight 对比
		JVM 监控工具有很多,像命令 jstat,jmap,jstack,jinfo 可以根据不同需求查看不同的系统信息,还有图像化界面 jconsole,都是很方便的工具.这些可以参考 JAVA自带监控工 ... 
- 通过JCONSOLE监控TOMCAT的JVM使用情况
		这个也是要学入一下,JVMr 虚拟机原理不可少. 参考配置URL“: http://blog.163.com/kangle0925@126/blog/static/277581982011527723 ... 
随机推荐
- [No0000F9]C# 运算符重载
			您可以重定义或重载 C# 中内置的运算符.因此,程序员也可以使用用户自定义类型的运算符.重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的.与其他函数一样,重载运 ... 
- Java进阶面试题大集合-offer不再是问题
			Java基础 1.List 和 Set 的区别 2.HashSet 是如何保证不重复的 3.HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)? 4.HashMap ... 
- influxdb服务器 relay
			https://www.influxdata.com/time-series-platform/influxdb/ https://www.xusheng.org/blog/2016/07/30/pe ... 
- [daily] 内存越界的分析与定位
			valgrind 自不必说 1. Address Sanitize 很好有,只需要在gcc编译的时候,加上选项 -fsanitize=address 它的工程:https://github.com/ ... 
- isprime_判断质数
			判断质数的方法有很多,首先是最简单的试除法,判断n以内的质数的话时间复杂度为n*sqrt(n)当然是很慢的了 下面提供三种判断质数的方法: 首先是跑5051ms的这个是埃拉托斯特尼筛法 且不加优化 核 ... 
- iOS-Core-Animation-Advanced-Techniques/13-高效绘图 【没理解】
			#import "DrawingView.h" #import <QuartzCore/QuartzCore.h> @interface DrawingView () ... 
- Python中给List添加元素的4种方法
			https://blog.csdn.net/hanshanyeyu/article/details/78839266 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持 ... 
- Matplotlib 简单的使用
			Matplotlib是一个Python 2D绘图库, 只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等. 有关示例,请参阅示例图和缩 import matplotlib.pyplot ... 
- java 流程控制--猜数字
			import java.util.Scanner; import java.util.Random; public class GuessNum{ public static void main(St ... 
- Hibernate的一个小应用
			hibernate 第一步,导入hiberante需要用到的jar包,因为使用hibernate时候,有日志信息输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包 不要忘记还有 ... 
