實驗環境
zabbix-server:192.168.14.216
tomcat:192.168.14.213
zabbix-java-gateway:192.168.14.212
介紹:
Zabbix本身不支持直接監控Java,在zabbix1.8以前,只能使用Zapcat來做代理監控,而且要修改源代碼,非常麻煩。爲了解決這個監控問題,Zabbix和Java雙方應運生成了各自的代理監控程序;zabbix 2.0以後添加了服務進程zabbix-java-gateway;Java有了JMX,全稱是Java Management Extensions,即Java管理擴展。
比如:當Zabbix-Server需要知道Java應用程序的某項性能的時候,會啓動自身的一個Zabbix-JavaPollers進程去連接Zabbix-JavaGateway請求數據,而Zabbix Java gateway收到請求後使用“JMXmanagementAPI”去查詢特定的應用程序,而前提是應用程序這端在開啓時需要“-Dcom.sun.management.jmxreote”參數來開啓JMX遠程查詢。Java程序會啓動自身的一個簡單的小程序端口12345向Zabbix-JavaGateway提供請求數據。
一、zabbix-java-gateway(192.168.14.212)
1、zabbix-java-gateway可以在tomcat或zabbix-server服務器安裝,也可以安裝在這兩者之外的機器,唯一就是要確保網絡通的
[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[root@localhost ~]# yum install -y zabbix-java-gateway
2、修改配置文件
[root@localhost ~]# vi /etc/zabbix/zabbix_java_gateway.conf
3、啓動服務
[root@localhost ~]# systemctl start zabbix-java-gateway
[root@localhost ~]# ss -ntlp|grep 10052
LISTEN 0 50 :::10052 :::* users:(("java",pid=20188,fd=11))
4、防火牆允許10052端口訪問
[root@localhost ~]# firewall-cmd --zone=public --add-port=10052/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
二、Tomcat(192.168.14.213)
1、修改tomcat配置文件
[root@tomcat ~]# vi apache-tomcat-9.0.8/bin/catalina.sh
-Djava.rmi.server.hostname是tomcat的IP地址,這裏是本機IP
-Dcom.sun.management.jmxremote.port是遠程連接端口
2、防火牆需要允許tomcat自身端口(8080,8009)和jmxremote的端口(12345),本文只是演示就直接關閉防火牆
[root@tomcat ~]# systemctl stop firewalld
三、zabbix-server
1、cannot resolve [zabbix-java-gateway]
由於案例的zabbix-server是通過之前文章docker-compose安裝的,當zabbix-server去找zabbix-java-gateway的時候直接報錯
2、zabbix-server容器的默認配置的JavaGateway會去查找zabbix-java-gateway
3、修改yaml文件,指定額外的 host 名稱映射信息
3、重新執行docker-compose
4、查看zabbix-server容器的/etc/hosts(紅線是容器ID),查看可以解析zabbix-java-gateway
這裏解釋一下爲什麼要這麼做:因爲如果不添加到yaml文件裏面,而是登錄容器直接修改裏面的/etc/hosts配置文件,當zabbix-server容器重啓的時候,裏面的配置文件就會重新載入,手動修改的配置就會沒有了。當然還有其他修改方法(掛載自定義配置文件zabbix_server.conf到容器的/etc/zabbix/zabbix_server.conf),這裏只是結合到docker-compose介紹這點
5、登錄zabbix-server的web頁面配置監控(192.168.14.213是tomcat的IP地址,12345端口也是在tomcat配置)
6、查看狀態JMX
7、鏈接的模板
8、圖形也顯示出來