zabbix監控系列之監控項(7、監控jvm)

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


zabbix監控系列之監控項(7、監控jvm)


zabbix監控系列之監控項(7、監控jvm)

等待一會jmx就顯示正常了


zabbix監控系列之監控項(7、監控jvm)

注意:jmx監控客戶端不僅僅是開放12345端口,服務端也不是僅僅10052端口,還有其它隨機的大於1024的tcp端口。


分享到:


相關文章: