监控Tomcat

  无论是使用Zabbix、还是jconsole等其他工具,当需要监控Tomcat时,需对Tomcat进行jmx配置。此处以Linux系统为例,配置Tomcat。

  注意:

    下文中出现的:$TOMCATHOME 代表Tomcat安装的路径;$JAVA_HOME代表Java jdk的安装路径。

    如果,将Tomcat安装在: /u01/app/tomcat 这个目录中,那么$TOMCATHOME= /u01/app/tomcat

  1. 在$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 配置监控账户
  1. 拷贝$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

  1. 在$TOMCATHOME/conf中的配置文件中(jmxremote.access)添加用户名:charles(用户名自定义),在配置文件(jmxremote.password)文件中添加用户名和密码:charles charles@1314

      jmxremote.access 文件:

        在文件最下方,注释了monitorRole   readonly ,在上面新增了一行:charles readonly

      

      jmxremote.password 文件

        在文件最下方,新增一行:charles Charles@1314

      

  1. 配置jmxremote.access和jmxremote.password 权限为:600

    指令: chmod 600 jmxremote.*

    

  1. 使用root用户配置 /etc/hosts文件,添加 :本机IP    本机主机名

    指令:vim /etc/hosts

    

    添加完成后,测试ping 一下,是否能ping通? 我的能ping通,说明没问题。

    

  1. 重启应用服务器

    

    指令:

      ps -ef | grep java ,查看Tomcat的进程PID

      kill -9 进程 PID

      cd $TOMCATHOME/bin

      sh startup.sh

      

  1. 测试:使用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的更多相关文章

  1. LoadRunner 实现监控Tomcat

    LoadRunenr没有监控Tomcat的专用监控器,为了用lr达到监控tomcat的目的可以通过打开Tomcat自带的Status页面之后,利用lr的关联技术得到相关的数据,把数据输出到lr自定义的 ...

  2. linux上监控tomcat down掉后自动重启tomcat

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  3. LoadRunner如何监控Tomcat性能

    使用LoadRunner做性能测试,一般的直觉是LR只能完成脚本录制和编写模拟用户的请求行为,但是在某些情况下,要监控一些中间件或web服务器的性能时,就不能通过录制脚本来完成了,那么就需要手工来编写 ...

  4. 运用JMX监控Tomcat/Java jvisualvm简要说明

    公司线上项目出现了java heap space 然后经过查询知晓了下面工具于是开始了尝试. visualvm能干什么:监控内存泄露,跟踪垃圾回收,执行时内存.cpu分析,线程分析... jvisua ...

  5. 【转】使用JDK自带jvisualvm监控tomcat

    转载地址: http://my.oschina.net/kone/blog/157239 jdk自带有个jvisualvm工具.该工具是用来监控java运行程序的cpu.内存.线程等的使用情况.并且使 ...

  6. Jconsole 监控tomcat

    通过jconsole监控可以获取监控tomcat的相关的数据信息 如何通过代码来获取其中的线程和内存状况呢? 首先要配置好jconsole监控的相关配置,一搜基本就是那一个, 配置配不好的话接下来的工 ...

  7. 使用JDK自带jvisualvm监控tomcat

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  8. 性能测试中用LambdaProbe监控Tomcat Tomcat和Probe的配置

    转载:http://bbs.51testing.com/thread-90047-1-1.html 性能测试中用LambdaProbe监控TomcatLambdaProbe 是一款强大的免费开源工具, ...

  9. 如何监控 Tomcat?Zabbix 与 Cloud Insight 对比

    JVM 监控工具有很多,像命令 jstat,jmap,jstack,jinfo 可以根据不同需求查看不同的系统信息,还有图像化界面 jconsole,都是很方便的工具.这些可以参考 JAVA自带监控工 ...

  10. 通过JCONSOLE监控TOMCAT的JVM使用情况

    这个也是要学入一下,JVMr 虚拟机原理不可少. 参考配置URL“: http://blog.163.com/kangle0925@126/blog/static/277581982011527723 ...

随机推荐

  1. [No0000F9]C# 运算符重载

    您可以重定义或重载 C# 中内置的运算符.因此,程序员也可以使用用户自定义类型的运算符.重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的.与其他函数一样,重载运 ...

  2. Java进阶面试题大集合-offer不再是问题

    Java基础 1.List 和 Set 的区别 2.HashSet 是如何保证不重复的 3.HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)? 4.HashMap ...

  3. influxdb服务器 relay

    https://www.influxdata.com/time-series-platform/influxdb/ https://www.xusheng.org/blog/2016/07/30/pe ...

  4. [daily] 内存越界的分析与定位

    valgrind 自不必说 1.  Address Sanitize 很好有,只需要在gcc编译的时候,加上选项 -fsanitize=address 它的工程:https://github.com/ ...

  5. isprime_判断质数

    判断质数的方法有很多,首先是最简单的试除法,判断n以内的质数的话时间复杂度为n*sqrt(n)当然是很慢的了 下面提供三种判断质数的方法: 首先是跑5051ms的这个是埃拉托斯特尼筛法 且不加优化 核 ...

  6. iOS-Core-Animation-Advanced-Techniques/13-高效绘图 【没理解】

    #import "DrawingView.h" #import <QuartzCore/QuartzCore.h> @interface DrawingView () ...

  7. Python中给List添加元素的4种方法

    https://blog.csdn.net/hanshanyeyu/article/details/78839266 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持 ...

  8. Matplotlib 简单的使用

    Matplotlib是一个Python 2D绘图库, 只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等. 有关示例,请参阅示例图和缩 import matplotlib.pyplot ...

  9. java 流程控制--猜数字

    import java.util.Scanner; import java.util.Random; public class GuessNum{ public static void main(St ...

  10. Hibernate的一个小应用

    hibernate 第一步,导入hiberante需要用到的jar包,因为使用hibernate时候,有日志信息输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包 不要忘记还有 ...