zabbix提供了一個java gateway的應用去監控jmx(Java Management Extensions,即Java管理擴展)是一個爲應用程序、設備、系統等植入管理功能的框架。JMX可以跨越一系列異構操作系統平臺、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。
Zabbix 的JMX監控架構
一:部署環境
Centos 7.1
Zabbix 4.2.0
Tomcat 8.5.47
服務端(zabbix-server、zabbix-java-gateway):192.168.142.10
客戶端(zabbix-agent、Toomcat):192.168.142.14
服務端配置
1、安裝jdk
yum install -y java java-devel
2、安裝Zabbix-Java-gateway
Zabbix2.0起添加了支持用於監控JMX應用程序的服務進程,稱爲“Zabbix-Java-gateway”,它是用java寫的一個程序。
安裝gateway,需要java,java-devel依賴
安裝yum源:
yum install -y https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
安裝gateway:
yum install -y java java-devel zabbix-java-gateway
測試是否成功:
第一:測試java是否成功
java -version
第二:測試gateway是否安裝成功
[root@localhost ~]# systemctl status zabbix-java-gateway
3、修改Java-gateway的配置文件並啓動它
配置文件單獨安裝的路徑爲/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:
[root@localhost ~]# systemctl start zabbix-java-gateway
4、修改zabbix_server的配置文件並重啓
修改zabbix-server的配置,編輯/etc/zabbix/zabbix_server.conf ,修改下面幾個參數:
# JavaGateway的服務器IP地址
JavaGateway=192.168.142.10
# JavaGateway的服務端口
JavaGatewayPort=10052
# 從javaGateway採集數據的進程數
StartJavaPollers=5
配置文件修改後,重啓zabbix-server:
systemctl restart zabbix-server
好,現在zabbix-java-gateway就配置好了。
以上步驟,服務端配置就已經完成。
客戶端配置
1、 添加tomact中JMX的參數
編輯tomcat服務中bin目錄下的catalina.sh
將以下參數,添加到CATALINA_OPTS的變量中:
CATALINA_OPTS="-Djava.rmi.server.hostname=本地IP地址
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
最好拼接成一行,不然容易出錯
配置完成後,重啓Tomcat服務,驗證12345端口是否有正常監聽
二、關聯JMX模板到主機,添加監控
選擇配置:主機-模板-選擇-模板-:
Template JMX Tomcat
關聯模板後,等待幾分鐘,查看ZBX及JMX圖片是否變綠
查看模板的監控項是否都生效
再查看最新數據,數據是否有上報