监控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 ...
随机推荐
- Django:视图views(三)
写一下Cookie.重定向.Session Cookie 测试代码,承接前面的代码: 路由: booktest/urls.py urlpatterns = [ url('^$',views.index ...
- 查询大数据表的效率对比:Linq to SQL、Entity Framework、企业库存储过程、ADO.Net
最近因为要开发大数据量网站,特作比较. Linq to SQL 查询 记录数:399997Linq to SQL 查询 Milliseconds:1910视图查询 记录数:399997视图查询 Mil ...
- object cloning
php.net <?php class SubObject { static $instances = 0; public $instance; public function __constr ...
- pause
https://stackoverflow.com/questions/37063700/mm-pause-usage-in-gcc-on-intel?utm_medium=organic&u ...
- [knowledge] netmap
900MHz的单核处理10GB的包收/发. netmap has been implemented in FreeBSD and Linux and Gbit/s network adapters. ...
- [daily][btrfs][mlocate][updatedb] mlocate不认识btrfs里面的文件
这是mlocate的一个bug, 截至到目前还没有修复, 至少在redhat上没有修复. https://bugzilla.redhat.com/show_bug.cgi?id=906591 解决方法 ...
- [skill][git] git 常用操作记录
傻瓜入门: step by step : https://try.github.io/levels/1/challenges/1 一本书: https://git-scm.com/book/en/v2 ...
- shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出
shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出 如: #/bin/sh local ret='sqlite3 test.db "select test ...
- javax.lang.model Implementation Backed by Core Reflection
javax.lang.model Implementation Backed by Core Reflection 1.javax.lang.model: How do I get the type ...
- 软件项目管理:什么是baseline
只要是接触软件的人,都或多或少的需要接触一些软件相关的名词术语.其中baseline也许是大家听得最多,但是却是最模糊的概念. 其中百度百科给出的解释如下 基线(Baseline) 基线是软件文档或源 ...