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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM