实现zabbix+JMX监控tomcat

1.实验原理

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

2.实验环境

server1(172.25.254.1)
配置zabbix-server ,zabbix-web,zabbix-agent,java-gateway服务
server2(172.25.24.2)
配置zabbix-agent,tomcat服务

3.实现zabbix监控tomcat

在web界面查看目前zabbix平台监控信息,没有开启监控server2上面的java应用
实现zabbix+JMX监控tomcat_第2张图片
(1)在server2上配置
从物理机上获取Apache和jdk安装包
实现zabbix+JMX监控tomcat_第3张图片

rpm -ivh jdk-8u121-linux-x64.rpm	##配置java环境
tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/	##解压tomcat
ln -s apache-tomcat-8.5.24 tomcat	##做软连接以方便管理

实现zabbix+JMX监控tomcat_第4张图片
实现zabbix+JMX监控tomcat_第5张图片
编辑tomcat测试文件
在这里插入图片描述
在这里插入图片描述
编辑tomcat配置文件:

vim /uar/local/tomcat/bin/catalina.sh

实现zabbix+JMX监控tomcat_第6张图片
在tomcat的文件中添加JMA参数,JMA全称Java Management Extensions
即为java应用提供管理扩展功能,本次实验为开启远程监控功能

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'

实现zabbix+JMX监控tomcat_第7张图片

./startup.sh   ##开启tomcat服务
 netstat -ntlp   ##查看端口 8080,8888

实现zabbix+JMX监控tomcat_第8张图片
测试
在浏览器上测试一下tomcat是否可以访问,指定访问刚才编辑的tomcat测试文件

在这里插入图片描述
(2)在server1上配置
安装Java网关,开启服务并设置服务开机自启动,查看端口
在这里插入图片描述
在这里插入图片描述
编辑zabbix-server的配置文件,添加javagateway相关信息,重启服务
在这里插入图片描述
设置Java网关为本机,默认端口10052,进程处理数5
实现zabbix+JMX监控tomcat_第9张图片
查看zabbix_server日志
在这里插入图片描述
实现zabbix+JMX监控tomcat_第10张图片
(3)在web界面进行server2的设置(添加对tomcat的监控JMX方式)
实现zabbix+JMX监控tomcat_第11张图片
添加JMX接口
实现zabbix+JMX监控tomcat_第12张图片
实现zabbix+JMX监控tomcat_第13张图片
添加模板
实现zabbix+JMX监控tomcat_第14张图片
实现zabbix+JMX监控tomcat_第15张图片
刷新页面后JMX显示绿色,不再是灰色,说明JMX监控server2上的Tomcat服务已经启用
实现zabbix+JMX监控tomcat_第16张图片

你可能感兴趣的:(实现zabbix+JMX监控tomcat)