Zabbix(5)通过JMX监控Tomcat
文章目录
[隐藏]
- 一、安装jmx服务器
- 1、安装jdk
- 2、安装jmx服务
- 3、配置jmx服务
- 4、修改zabbix server配置
- 二、Tomcat配置修改
- 1、修改配置文件
- 2、测试JMX
- 三、在zabbix web页面中添加JMX端口
- 1、导入模板
- 2、添加JMX端口
- 3、关联模板
- 4、查看图形
Zabbix监控tomcat主要使用的是zabbix的zabbix-java-gateway。从Zabbix 2.0开始,内置了监控JMX的功能,叫做“Zabbix Java Gateway”,在Zabbix Server和Zabbix Proxy上启动名为“Zabbix Java Gateway”的进程,当需要获取JMX数据时,Zabbix Server会“问”JMX Gateway,然后JMX Gateway根据JMX管理API去查询需要的数据。在使用时,Java程序不需要在代码中新增任何东西,只需要在启动的时候加上一些JVM参数,使得它可以支持使用端口监控JMX。JMX的全称是Java Management Extensions,即Java管理扩展。Java程序会开放一些端口,用来获取运行状况。
一、安装jmx服务器
1、安装jdk
下载JDK: http://www.oracle.com/technetwork/java/archive-139210.html
配置环境变量: http://islocal.cc/2017/09/27/JDK%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E9%85%8D%E7%BD%AE/
2、安装jmx服务
yum -y install zabbix-java-gateway
3、配置jmx服务
egrep -v '#|^$' /etc/zabbix/zabbix_java_gateway.conf LISTEN_IP="0.0.0.0" LISTEN_PORT=10052 PID_FILE="/var/run/zabbix/zabbix_java.pid" START_POLLERS=5 TIMEOUT=3
systemctl start zabbix-java-gateway systemctl enable zabbix-java-gateway
4、修改zabbix server配置
添加以下三行,这里配置的StartJavaPollers值要小于之前java_gateway中的START_POLLERS
tail -n 3 /etc/zabbix/zabbix_server.conf JavaGateway=127.0.0.1 JavaGatewayPort=10052 StartJavaPollers=3
修改zabbix_server.conf后重启服务
systemctl restart zabbix-server
二、Tomcat配置修改
1、修改配置文件
Windows下tomcat在F:deployapache-tomcat-8.5.20-OUbincatalina.bat中set “CURRENT_DIR=%cd%”下添加以下内容
set CATALINA_OPTS=-Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
2、测试JMX
下载以下两个jar包放在tomcat lib目录下。
下载cmdline-jmxclient-0.10.3.jar
http://crawler.archive.org/cmdline-jmxclient/cmdline-jmxclient-0.10.3.jar
下载catalina-jmx-remote.jar
https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.77/bin/extras/catalina-jmx-remote.jar
F:apache-tomcat-7.0.70(zabbix)lib>java -jar cmdline-jmxclient-0.10.3.jar - 192.168.6.124:12345 java.lang:type=Memory NonHeapMemoryUsage 10/10/2017 16:31:57 +0800 org.archive.jmx.Client NonHeapMemoryUsage: committed: 24838144 init: 12746752 max: 100663296 used: 24806392
三、在zabbix web页面中添加JMX端口
1、导入模板
zabbix自带的”Template App Generic Java JMX”和”Template App Apache Tomcat JMX”模板很多都获取不到数据,从网上找了个模板,监控项不多,但是都是很实用的。
2、添加JMX端口
jmx的端口一定要与在catalina.bat下配置的jmxremote.port一样
3、关联模板
4、查看图形
原文出处:islocal -> http://islocal.cc/2017/10/10/Zabbix-5-%E9%80%9A%E8%BF%87JMX%E7%9B%91%E6%8E%A7Tomcat/