Zabbix 4.4(四)docker zabbix監控tomcat(解決cannot resolve [zabbix-java-gateway])

實驗環境

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、圖形也顯示出來

發佈了141 篇原創文章 · 獲贊 124 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章