天天看點

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

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管理端。

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

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.在入站規則上點選右鍵,選擇建立規則

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

3.在彈出對話框中選擇端口,點選下一步:

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

4.在特定的端口中輸入JMX的端口号

12345

,點選下一步

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

剩餘步驟一直下一步,直到最後一步,給規則取個容易辨識的名字,點選完成即可。

7.使用jconsole測試JMX的可用性

在控制台中輸入

jconsole

,在彈出框中選擇遠端程序,在下方輸入框中輸入

服務IP:JMX端口号

,點選連接配接即可檢視目前服務的各項資訊。

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

※如果發現連接配接錯誤,請回伺服器檢視端口是否開啟,服務是否開啟。

8.Web端配置

在建立的主機中添加JMX

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM
Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

點選模闆頁籤,在Template中找到Generic Java JMX,添加完畢後點選添加/更新

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

當主機清單中的JMX顯示高亮的時候,證明JMX已經配置成功。

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

監測→聚合圖形

中即可添加檢視JMX監控資訊

Zabbix通過JMX監控JVMZabbix通過JMX監控JVM

這裡的圖表與jconsole中的圖表是一樣的。