Zabbix通過JMX監控JVM
1.概述
本方法在Zabbix3.x,4.x,5.x通用,JMX監控對象包含Windows和Linux中運作的SpringBoot項目。
2.java-gateway定位
java-gateway理論上是類似于zabbix-get的主動監控工具,與zabbix-server分離,将從JMX監控資料發送給Zabbix-Server,經由Zabbix-Server存儲于資料庫中,最終展示到Web管理端。
3.安裝Zabbix-java-gateway
使用指令
dnf -y install zabbix-java-gateway
即可安裝。
4.java-gateway和zabbix-server配置
兩者的配置檔案都在
/etc/zabbix
中,使用vim編輯器對配置檔案進行修改。
zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=5
zabbix_server.conf
JavaGateway=127.0.0.1 #這裡指向zabbix_java_gateway所在的伺服器IP位址
JavaGatewayPort=10052
StartJavaPollers=5
需要注意java_gateway和server兩者的端口和pollers兩個屬性的值必須一緻,否則将無法連通。
設定自動啟動并重新開機gateway和server
# systemctl enable zabbix-java-gateway.service
# systemctl start zabbix-java-gateway.service
# systemctl status zabbix-java-gateway.service #檢視gateway啟動是否正常
# systemctl restart zabbix-server.service
5.配置JMX端
除了開放端口外,JMX的配置是通用的,我們使用的是SpringBoot項目,使用
java -jar
指令啟動,是以,隻需要對啟動指令加一些JVM指令:
-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=本機IP位址 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.rmi.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
套用在jar中的用法:
java -jar -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=本機IP位址 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.rmi.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false /usr/jar/名稱.jar --logging.file.path=log路徑
需要注意一點的是,hostname即為要啟動服務的服務IP位址,port是指定監聽從gateway發送來的監控請求端口,下文中在web端配置需要保持這兩個參數一緻。
按照上面的指令重新啟動服務即可。
6.開通端口
在Linux中:
# firewall-cmd --zone=public --add-port=12345/tcp --permanent
# firewall-cmd --reload
在Windows中:
1.打開服務管理器→工具→進階安全Windows防火牆
2.在入站規則上點選右鍵,選擇建立規則
3.在彈出對話框中選擇端口,點選下一步:
4.在特定的端口中輸入JMX的端口号
12345
,點選下一步
剩餘步驟一直下一步,直到最後一步,給規則取個容易辨識的名字,點選完成即可。
7.使用jconsole測試JMX的可用性
在控制台中輸入
jconsole
,在彈出框中選擇遠端程序,在下方輸入框中輸入
服務IP:JMX端口号
,點選連接配接即可檢視目前服務的各項資訊。
※如果發現連接配接錯誤,請回伺服器檢視端口是否開啟,服務是否開啟。
8.Web端配置
在建立的主機中添加JMX
點選模闆頁籤,在Template中找到Generic Java JMX,添加完畢後點選添加/更新
當主機清單中的JMX顯示高亮的時候,證明JMX已經配置成功。
在
監測→聚合圖形
中即可添加檢視JMX監控資訊
這裡的圖表與jconsole中的圖表是一樣的。