zabbix提供了一個java gateway的應用去監控jmx(Java Management Extensions,即Java管理擴展)是一個為應用程序、設備、系統等植入管理功能的框架。JMX可以跨越一系列異構操作系統平臺、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。
1、安裝Zabbix-Java-gateway
Zabbix2.0起添加了支持用於監控JMX應用程序的服務進程,稱為“Zabbix-Java-gateway”,它是用java寫的一個程序
編譯安裝:
# tar zxvf zabbix-3.2.7.tar.gz
# cd zabbix-3.2.7
# ./configure --enable-java --prefix=/data/zabbix/zabbix_java #/data/zabbix是我的zabbix安裝目錄
# make && make install
yum源:
rpm -ivh
http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
yum install -y zabbix-java-gateway
或者
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-java-gateway-3.2.8-1.el7.x86_64.rpm
安裝報錯:java >= 1.6.0 is needed by zabbix-java-gateway-3.2.0-1.el6.x86_64
解決方法:
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-java-gateway-3.2.8-1.el7.x86_64.rpm
yum -y localinstall *.rpm
啟動:systemctl start zabbix-java-gateway
systemctl enable zabbix-java-gateway
2、zabbix-java-gateway配置
vim /etc/zabbix/zabbix_java_gateway.conf
# 監聽地址
LISTEN_IP=”0.0.0.0″
# 監聽端口
LISTEN_PORT=10052
# PID_FILE文件
PID_FILE=”/var/run/zabbix/zabbix_java.pid”
# 開啟的工作線程數
START_POLLERS=5
啟動zabbix-java-gateway:
systemctl stop zabbix-java-gateway
systemctl start zabbix-java-gateway
3、zabbix-server配置
vim /etc/zabbix/zabbix_server.conf
# JavaGateway的服務器IP地址
JavaGateway=192.168.89.204
# JavaGateway的服務端口
JavaGatewayPort=10052
# 從javaGateway採集數據的進程數
StartJavaPollers=5
配置文件修改後,重啟zabbix-server:
service zabbix-server restart
4、客戶端配置
4.1、tomcat中添加JMX的參數
編輯tomcat服務中bin目錄下的catalina.sh
將以下參數,添加到CATALINA_OPTS的變量中:
CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=12345
-Djava.rmi.server.hostname=101.132.24.200" #本地IP地址,公網監控就公網地址
重啟錯誤,注意hostname配置(hosts)
4.2、下載測試工具cmdline-jmxclient-0.10.3.jar,測試是否生效
cmdline-jmxclient-0.10.3.jar為一個測試工具,可用來測試jmx是否配置正確,下載cmdline-jmxclient-0.10.3.jar(下載到任意目錄)wget http://crawler.archive.org/cmdline-jmxclient/cmdline-jmxclient-0.10.3.jar,驗證tomcat中JMX配置是否生效在本機上執行:
java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 127.0.0.1:12345 java.lang:type=Memory NonHeapMemoryUsage
如果有如下回顯表示jmx配置正確,如不正確,請檢查配置,看下端口啟動是否正常,server.xml 配置。
07/22/2016 14:45:28 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 80347136
init: 24576000
max: 136314880
used: 46634984
4.3、導入模板到zabbix,並關聯到主機,添加監控
選擇配置:主機-模板-選擇-模板-:
Template JMX Tomcat
Template JMX Generic
等待一會jmx就顯示正常了
注意:jmx監控客戶端不僅僅是開放12345端口,服務端也不是僅僅10052端口,還有其它隨機的大於1024的tcp端口。
閱讀更多 飛哥linux 的文章
關鍵字: Hat Enterprise