Zabbix分布式监控(五)——Zabbix使用JMX监控tomcat

一、Zabbix 监控Tomcat

1、需要安装的软件:

  • Java JRE环境,1.7或1.8
  • Zabbix-Java-Gateway
  • cmdline-jmxclient.jar工具

2、Zabbix的JMX监控架构

在这里插入图片描述

3、组件关系示意图:

Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345Zabbix-JavaGateway提供请求数据。

配置Zabbix监控Java应用程序的关键点在于:配置Zabbix-JavaGateway、让Zabbix-Server能够连接Zabbix-JavaGateway、Tomcat开启JVM远程监控功能等
在这里插入图片描述

二、搭建实验环境

主机名(IP) 服务
server1(172.25.2.1) zabbix-server ,zabbix-web,zabbix-agent,java-gateway
server2(172.25.24.2) zabbix-agent,tomcat

我们可以看到此时,zabbix平台还没有监控server2上面的java应用

在这里插入图片描述

1、在server2上,下载tomcat和jdlk。

[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm

在这里插入图片描述
创建软链接便于访问。

[root@server2 ~]# cd /usr/local/
[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat

在这里插入图片描述
2、编辑tomcat的测试文件

[root@server2 ~]# cd /usr/local/tomcat/webapps/ROOT/
[root@server2 ROOT]# vim test.jsp
[root@server2 ROOT]# cat test.jsp 
The time is:<%=new java.util.Date() %>

在这里插入图片描述

在这里插入图片描述
3、向tomcat中添加JVM的参数(Java Management Extensions)

在这里插入图片描述

[root@server2 bin]# pwd
/usr/local/tomcat/bin
[root@server2 bin]# vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote    #开启远程监控
  -Dcom.sun.management.jmxremote.port=8888      #远程监控端口
  -Dcom.sun.management.jmxremote.ssl=false    #远程ssl验证为false
  -Dcom.sun.management.jmxremote.authenticate=false'
[root@server2 bin]# ./startup.sh   
[root@server2 bin]# netstat -ntlp

在这里插入图片描述在这里插入图片描述在这里插入图片描述zabbix-server通过zabbix-java-gateway 监控tomcat:8888

4、此时,端口开启,可以在浏览器中访问tomcat指定访问我刚才编辑的测试文件

在这里插入图片描述

5、在server1上配置,安装zabbix-java-gateway,开启服务并设置服务开机自启动

[root@server1 ~]# yum install zabbix-java-gateway -y
	##我自建的yum仓库
[root@server1 ~]# systemctl start zabbix-java-gateway
[root@server1 ~]# systemctl enable zabbix-java-gateway
[root@server1 ~]# netstat -antlp | grep 10052

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6、编辑zabbix-server的配置文件,添加javagateway的相关信息,重启服务

[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf
	288 JavaGateway=172.25.2.1
	296 JavaGatewayPort=10052
	304 StartJavaPollers=5
[root@server1 ~]# systemctl restart zabbix-server

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、在web界面进行设置

配置—> 主机—> server2—> 主机—> 添加JMX接口的信息(端口要和配置文件中写的一样) —> 添加

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

主机 —> 模板—> 选择图中的模板 —> 添加 —> 更新

在这里插入图片描述

在这里插入图片描述

等几分钟,刷新,可以看到server2的JMX变绿

在这里插入图片描述

发布了127 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ranrancc_/article/details/104389149