zabbix 基于JMX的Tomcat监控

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix 基于JMX的Tomcat监控相关的知识,希望对你有一定的参考价值。

zabbix 基于JMX的Tomcat监控
一、环境
  ubuntu14.04 LTS
  Java 1.7.0
  zabbix 2.4.5
二、安装配置
  1、安装JavaGateway
  在ubuntu14.04LTS下因为直接使用的是 zabbix-release_2.4-1+trusty_all.deb 包安装的zabbix,
sudo apt-get install zabbix-server-mysql zabbix-frontend-php
所以要实现jmx只需要安装一个zabbix-java-gateway的包即可
sudo apt-get install zabbix-java-gateway
  如果是直接源码编译zabbix-2.4.5,只需要
./configure --enable-java --prefix=/usr/local/zabbix/zabbix_java sudo make && sudo make install
  2、配置zabbix_java_gateway.conf
 
cd /etc/zabbix sudo vim zabbix_java_gateway.conf 添加: LISTEN_IP="0.0.0.0" LISTEN_PORT=10052 PID_FILE="/tmp/zabbix_java.pid" START_POLLERS=5
 
  其中 LISTEN_PORT 和 LISTEN_IP 可以不配置,zabbix_java 会采用默认值。但是 PID_FILE 和 START_POLLERS 必须配置,尤其主意 START_POLLERS,若不配置 zabbix_java 依旧可以启动但是是不工作的。
  3、配置 zabbix_server 或 zabbix_proxy
  zabbix_server 或 zabbix_proxy 的配置文件中有以下内容需要配置: 
JavaGateway=127.0.0.1 SERVER IP JavaGatewayPort=10052 StartJavaPollers=5
  4、启动zabbix_java_gateway
sudo service zabbix_java_gateway start
  5、监测启动zabbix_java_gateway是否成功
sudo netstat -nutpl | grep 10052 tcp6 0 0 :::10052 :::* LISTEN 7681/java
  6、配置修改tomcat被监控端
 
下载catalina-jmx-remote.jar
 
将下载好的文件存放到tomcat子目录目录lib录下
 
sudo mv catalina-jmx-remote.jar /usr/local/tomcat/apache-tomcat-7.0.53/lib/
 
 
修改启动脚本文件
 
cd /usr/local/tomcat/apache-tomcat-7.0.53/bin
sudo vim catalina.sh
在# ----- Execute The Requested Command -----------------下面添加如下内容:
 
export CATALINA_OPTS="-Dcom.sun.management.jmxremote -
Dcom.sun.management.jmxremote.authenticate=false -
Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -
Djava.rmi.server.hostname=x.x.x.x"
-----备注(x.x.x.x是客户端ip地址,即tomcat本身ip地址,也可以是主机名)
-----这里的Port要和zabbix服务器定义的监听jmx端口保持一致。
 
cd /usr/local/tomcat/apache-tomcat-7.0.53/conf
 
sudo vim server.xml
修改server.xml配置文件添加下面一行内容
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346"/>
-----这里的Port要和zabbix服务器定义的监听jmx端口保持一致。
修改tomcat服务器的hosts文件
cat /etc/hosts
192.168.45.127 localhost.localdomain localhost
 
  7、重启Tomcat和zabbix_java_gateway
sudo /usr/local/tomcat/apache-tomcat-7.0.53/bin/shutdown.sh
如果不能关闭,直接 sudo killall java
sudo /usr/local/tomcat/apache-tomcat-7.0.53/bin/startup.sh
sudo service zabbix-java-gateway restart
  8、在zabbix服务器端用工具测试
  下载cmdline-jmxclient-0.10.3.jar工具
 
wget http://repo.typesafe.com/typesafe/repo/cmdline-jmxclient/cmdline-jmxclient/0.10.3/cmdline-jmxclient-0.10.3.jar
 
测试: java -jar cmdline-jmxclient-0.10.3.jar - 192.168.45.127:12345 java.lang:type=Memory NonHeapMemoryUsage
 
06/11/2015 15:49:30 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 26214400
init: 2555904
max: -1
used: 25515648
文件下载:链接:   http://pan.baidu.com/s/1c260xiw    密码: 9ich
------------------------------------------------------end------------------------------------
专注技术提升,交流。

以上是关于zabbix 基于JMX的Tomcat监控的主要内容,如果未能解决你的问题,请参考以下文章

zabbix监控通过jmx监控tomcat的配置过程

zabbix jmx监控tomcat 无数据显示

zabbix 3.0 利用jmx监控 tomcat

Zabbix JMX Tomcat 监控

zabbix使用jmx监控tomcat

Zabbix利用JMX监控多实例Tomcat运行状态