博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监控Tomcat
阅读量:5026 次
发布时间:2019-06-12

本文共 2466 字,大约阅读时间需要 8 分钟。

 

监控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.  
  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

 

转载于:https://www.cnblogs.com/Charles-Yuan/p/9735293.html

你可能感兴趣的文章
深入理解ajax系列第八篇
查看>>
动态存储过程
查看>>
FastJson的忽略字段和格式日期用法
查看>>
mysql自关联和多表连接查询
查看>>
C# 温故而知新: 线程篇(四)
查看>>
.NET WebAPI生成Excel
查看>>
UI UISearchBar UISearchDisplayController实现搜索条、解析颜色
查看>>
Python流程控制
查看>>
C语言学习(2)-GTK布局
查看>>
vue全局配置组件
查看>>
营救公主(深度优先搜索算法)
查看>>
十五个Web知识的CTF出题套路
查看>>
Sorted Union
查看>>
select/poll/epoll 对比
查看>>
springboot中tomcat找不到jsp页面【转载】
查看>>
线段树 poj 1436
查看>>
telerik的RadCalendar控件学习
查看>>
POJ1258Agri-Net
查看>>
区域实现Android实现图片的裁剪(不调用系统功能)
查看>>
UVALive - 6039
查看>>