企业—zabbix通过jmx监控tomcat

一.zabbix实现对tomcat监控简介

1.工作原理

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

在这里插入图片描述
开始监控部署

从上面的原理图中我们可以看出,配置Zabbix监控Java应用程序的关键点在于:配置Zabbix-JavaGateway、让Zabbix-Server能够连接Zabbix-JavaGateway、Tomcat开启JVM远程监控功能等

二.zabbix监控tomcat的部署

web页面监控tomcat流程:

client—>wenui—>zabbix server—>zabbix jmx:10052—>tomcat:8888

1.实验环境

主机名(IP) 服务
server1(172.25.254.1) zabbix-server ,java-gateway
server2(172.25.254.2) zabbix-agent,tomcat

部署如下:

server2:

1.官网下载jdk的安装包安装及其tomcat压缩包解压并且安装tomcat

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

[[email protected] ~]# rpm -ivh jdk-8u121-linux-x64.rpm 
[[email protected] ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
[[email protected] ~]# cd /usr/local/
[[email protected] local]# ln -s apache-tomcat-8.5.24/ tomcat
[[email protected] tomcat]# cd bin/
[[email protected] bin]# vim catalina.sh 
文件编辑内容如下:
109 CATALINA_OPTS='-Dcom.sun.management.jmxremote  //开启远程监控
110 -Dcom.sun.management.jmxremote.port=8888 //远程监控端口
111 -Dcom.sun.management.jmxremote.ssl=false //远程ssl验证为false
112 -Dcom.sun.management.jmxremote.authenticate=false'
//关闭权限认证
[[email protected] bin]# ./startup.sh //开启tomcat
[[email protected] bin]# netstat -ntlp  //查看监控端口

在这里插入图片描述
在这里插入图片描述
在tomcat的文件中添加JMA参数,JMA全称Java Management Extensions,为即阿va应用提供管理扩展功能,本次实验为开启远程监控功能:
在这里插入图片描述
在这里插入图片描述
2.官网下载java-gateway安装包并进行安装且要开启java-gateway服务

[[email protected] ~]# ls
zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
[[email protected] ~]# yum install zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm -y
[[email protected] ~]# systemctl start zabbix-java-gateway

在这里插入图片描述
server1(zabbix server)

1.安装java-gateway并做相应的设置

[[email protected] 4.0]# yum install zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm

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

2.编辑zabbix-server配置文件添加java-gateway的配置信息

[[email protected] ~]# cd /etc/zabbix/
[[email protected] zabbix]# vim zabbix_server.conf 
文件编辑内容如下:
288 JavaGateway=172.25.254.1
296 JavaGatewayPort=10052
304 StartJavaPollers=5

[[email protected] zabbix]# systemctl restart zabbix-server
[[email protected] zabbix]# zabbix_server -R config_cache_reload  //检查jmx检测是否正常
zabbix_server [3656]: command sent successfully

在web界面进行设置

在配置–>主机–>server2
添加jmx的接口:
在这里插入图片描述
添加jmx的模版
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在tomcat的图形里面查看jmx的图形
在这里插入图片描述
在这里插入图片描述 主机更新之后server2上的JMX变绿为正常,则监控tomcat成功