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

导读:本篇文章讲解 Zabbix 4.4(四)docker zabbix监控tomcat(解决cannot resolve [zabbix-java-gateway]),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

实验环境

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 4.4(四)docker zabbix监控tomcat(解决cannot resolve [zabbix-java-gateway])

比如:当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 

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

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

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

-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的时候直接报错

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

2、zabbix-server容器的默认配置的JavaGateway会去查找zabbix-java-gateway

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

3、修改yaml文件,指定额外的 host 名称映射信息

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

3、重新执行docker-compose

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

4、查看zabbix-server容器的/etc/hosts(红线是容器ID),查看可以解析zabbix-java-gateway

Zabbix 4.4(四)docker zabbix监控tomcat(解决cannot resolve [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配置)

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

6、查看状态JMX

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

7、链接的模板

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

8、图形也显示出来

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95252.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!