企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat

企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat

文章目录

          • 1. 工作原理
          • 2. 搭建实验环境
          • 3.实现过程如下(zabbix监控tomcat的部署)

1. 工作原理

当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345向Zabbix-JavaGateway提供请求数据。
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第1张图片
从上面的原理图中我们可以看出,配置Zabbix监控Java应用程序的关键点在于:配置Zabbix-JavaGateway、让Zabbix-Server能够连接Zabbix-JavaGateway、Tomcat开启JVM远程监控功能等

2. 搭建实验环境
主机名(IP) 所需服务
server1(172.25.60.1) zabbix-server ,zabbix-web,zabbix-agent,java-gateway
server2(172.25.60.2) zabbix-agent,tomcat
3.实现过程如下(zabbix监控tomcat的部署)

可以看到,这三个zabbix-agent的JMX都是灰色,说明服务未启用
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第2张图片
(1)在server2上配置
下载tomcat和jdlk,拷贝至zabbix-agent,解压,作软链接方便更新。
在这里插入图片描述
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第3张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第4张图片

[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/ 
[root@server2 ~]# cd /usr/local/ 
[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat

企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第5张图片
在这里插入图片描述

企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第6张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第7张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第8张图片
查看官网,修改配置文件,开启服务并查看端口。
在tomcat的文件中添加JMA参数,JMA全称Java Management Extensions
即为java应用提供管理扩展功能,本次实验为开启远程监控功能

企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第9张图片

[root@server2 ROOT]# cd /usr/local/tomcat
[root@server2 tomcat]# ls
bin   lib      logs    RELEASE-NOTES  temp     work
conf  LICENSE  NOTICE  RUNNING.txt    webapps
[root@server2 tomcat]# cd bin/
[root@server2 bin]# ls
bootstrap.jar                 daemon.sh         startup.sh
catalina.bat                  digest.bat        tomcat-juli.jar
catalina.sh                   digest.sh         tomcat-native.tar.gz
catalina-tasks.xml            setclasspath.bat  tool-wrapper.bat
commons-daemon.jar            setclasspath.sh   tool-wrapper.sh
commons-daemon-native.tar.gz  shutdown.bat      version.bat
configtest.bat                shutdown.sh       version.sh
configtest.sh                 startup.bat
[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 #开启tomcat服务 
[root@server2 bin]# netstat -ntlp #查看端口

企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第10张图片

企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第11张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第12张图片企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第13张图片
端口开启,可以在浏览器中访问tomcat默认的发布页面
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第14张图片
在浏览器里面测试一下tomcat是否可以访问,指定访问我刚才编辑的测试文件
zabbix-server通过zabbix-java-gateway 监控tomcat:8888

(2)在server1上配置
安装zabbix-java-gateway
开启服务并设置服务开机自启动,并查看端口

[root@server1 ~]# yum install zabbix-java-gateway -y 
[root@server1 zabbix]# systemctl start zabbix-java-gateway 
[root@server1 zabbix]# systemctl enable zabbix-java-gateway 
[root@server1 zabbix]# netstat -antlp | grep 10052 

在这里插入图片描述
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第15张图片

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

[root@server1 zabbix]# vim /etc/zabbix/zabbix_server.conf #修改3处:
JavaGateway port 以及ps ax可以看到的进程数 
[root@server1 zabbix]# systemctl restart zabbix-server
ps ax

在这里插入图片描述
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第16张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第17张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第18张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第19张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第20张图片
(3)在web界面进行设置
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第21张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第22张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第23张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第24张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第25张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第26张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第27张图片
刷新
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第28张图片可以看到,JMX已经由灰色变为绿色,说明已经开始监控tomcat了

你可能感兴趣的:(企业项目实战)