JMX 全稱是Java Management Extensions,即Java管理擴展。Java程序會開放一些端口,用來獲取運行狀況。
從Zabbix2.0開始,內置了監控JMX的功能,叫做"Zabbix Java Gateway ",在Zabbix Serve上會啟動名為"Zabbix Java Gateway "的進程,當需要獲取JMX數據時,Zabbix Server會"問 "JMX Gateway,然后JMX Gateway 根據JMX管理API去查詢需要的數據。在使用時,Java程序不需要在代碼中新增任何東西,只需要在啟動時加上一些JVM參數,使得它可以支持使用監控端口監控JMX。
1 . 在server2安裝jdk。提供java程序運行的環境
rpm -ivh jdk-8u121-linux-x64.rpm
解壓tomcat壓縮包,并設值軟鏈接
tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-8.5.24/ tomcat
修改tomcat的配置文件,使得該程序向外提供一個數據采集的端口。
vim /usr/local/tomcat/bin/catalina.sh
開啟服務,查看端口是否正常
./startup.sh
netstat -antlp
至此tomcat已經成啟動,被監控的服務已經存在。
訪問 192.168.13.112:8080
2 . 在zabbix server端設置:
安裝 zabbix-java-gateway 服務
yum install zabbix-java-gateway.x86_64 -y
修改zabbix-java-gateway 配置文件:/etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0" ##監聽地址
LISTEN_PORT=10052 ##監聽端口
START_POLLERS=5 ##開啟的工作線程數量
systemctl start zabbix-java-gateway.service # 啟動服務
修改zabbix server 配置文件 ,指定zabbix-java-gateway 相關信息
JavaGateway=172.25.13.110 # zabbix-java-gateway 所在主機ip
JavaGatewayPort=10052 # zabbix-java-gateway 服務的監聽端口
StartJavaPollers=5 # 為zabbix-java-gateway 服務開啟的進程數
systemctl restart zabbix-server.service # 重啟服務
查看端口10052是否開啟
3 . 在zabbix監測界面的配置
監控程序所在的主機添加JMX接口