企业级分布式监控zabbix实战——Zabbix使用JMX监控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.2.1) zabbix-server ,zabbix-web,zabbix-agent,java-gateway
server2(172.25.24.2) zabbix-agent,tomcat

3.具体实现过程如下(zabbix监控tomcat的部署)

可以看出目前zabbix平台还没有监控server2上面的java应用
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第2张图片
(1)在server2上配置
下载tomcat和jdlk,解压,作软链接方便更新。

[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_第3张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第4张图片
编辑tomcat的测试文件
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第5张图片
在这里插入图片描述
查看官网,修改配置文件,开启服务并查看端口。
在tomcat的文件中添加JMA参数,JMA全称Java Management Extensions
即为java应用提供管理扩展功能,本次实验为开启远程监控功能
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第6张图片

[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_第7张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第8张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第9张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第10张图片

端口开启,可以在浏览器中访问tomcat默认的发布页面
在浏览器里面测试一下tomcat是否可以访问,指定访问我刚才编辑的测试文件
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第11张图片
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_第12张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第13张图片
编辑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_第14张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第15张图片
在这里插入图片描述
在这里插入图片描述
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第16张图片
(3)在web界面进行设置
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第17张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第18张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第19张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第20张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第21张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第22张图片
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第23张图片
刷新
企业级分布式监控zabbix实战——Zabbix使用JMX监控tomcat_第24张图片

你可能感兴趣的:(linux运维——企业实战)