zabbix 部署 jmx 监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
一、部署环境
服务器端
监控软件:zabbix-3.0.15 jdk版本: [root@manage /]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b11) OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Tomcat版本: [root@manage /]# /data/tomcat/bin/version.sh Using CATALINA_BASE: /data/tomcat Using CATALINA_HOME: /data/tomcat Using CATALINA_TMPDIR: /data/tomcat/temp Using JRE_HOME: /data/java/jre Using CLASSPATH: /data/tomcat/bin/bootstrap.jar:/data/tomcat/bin/tomcat-juli.jar Server version: Apache Tomcat/7.0.67 Server built: Dec 7 2015 13:07:11 UTC Server number: 7.0.67.0 OS Name: Linux OS Version: 2.6.32-642.13.1.el6.x86_64 Architecture: amd64 JVM Version: 1.8.0_121-b13 JVM Vendor: Oracle Corporation
以上的jdk,Tomcat,zabbix安装过程请自行解决;本文重点不是讲解如何安装这些软件。而是通过安装配置 Zabbix-Java-gateway
来监控Tomcat JMX.
1、安装Zabbix-Java-gateway
zabbix-java-gateway 可以通过源码编译安装zabbix时加上模块 --enable-java;如果zabbix编译安装时,指定了--enable-java,那么接下来的安装zabbix-java-gateway就可以跳过。
Zabbix2.0起添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”,它是用java写的一个程序。
安装gateway,需要java,java-devel依赖
安装yum源:yum install -y http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm 安装gateway:yum install -y java java-devel zabbix-java-gateway
测试是否成功:
第一:测试java是否成功
[root@manage /]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b11) OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
第二:测试gateway是否安装成功
#:service zabbix-java-gateway status zabbix-java-gateway is stopped
2、修改Java-gateway
的配置文件并启动它
配置文件单独安装的路径为/etc/zabbix/zabbix_java_gateway.conf
[root@manage /]# 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
启动zabbix-java-gateway:
service zabbix-java-gateway start
3、修改zabbix_server
的配置文件并重启
修改zabbix-server的配置,编辑/etc/zabbix/zabbix_server.conf ,修改下面几个参数:
[root@manage etc]# egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log PidFile=/tmp/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix # JavaGateway的服务器IP地址 JavaGateway=113.57.23.118 # JavaGateway的服务端口 JavaGatewayPort=10052 # 从javaGateway采集数据的进程数 StartJavaPollers=5 Timeout=20 FpingLocation=/usr/sbin/fping LogSlowQueries=3000
配置文件修改后,重启zabbix-server:
service zabbix-server restart
好,现在zabbix-java-gateway就配置好了。
以上步骤,服务端配置就已经完成。
客户端配置
1、 添加tomact中JMX的参数
编辑tomcat服务中bin目录下的catalina.sh 将以下参数,添加到CATALINA_OPTS的变量中: CATALINA_OPTS="-Djava.rmi.server.hostname=客户端外网ip地址 -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true ##开启远程连接 -Dcom.sun.management.jmxremote.port=12345 ##远程连接端口 -Dcom.sun.management.jmxremote.ssl=false ##关闭ssl认证 -Dcom.sun.management.jmxremote.authenticate=false" ##关闭用户认证
配置完后重启Tomcat服务,然后检查配置的12345端口是否启动
[root@iZ2ze2db4rp7beknjhneZ ~]# netstat -lnupt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 6483/zabbix_agentd tcp 0 0 :::60605 :::* LISTEN tcp 0 0 :::12345 :::* LISTEN 17746/java
2.下载测试工具cmdline-jmxclient-0.10.3.jar
cmdline-jmxclient-0.10.3.jar为一个测试工具,可用来测试jmx是否配置正确,下载cmdline-jmxclient-0.10.3.jar(下载到任意目录)
wget http://crawler.archive.org/cmdline-jmxclient/cmdline-jmxclient-0.10.3.jar
百度网盘下载链接: https://pan.baidu.com/s/1h9MyjyJMrxG_plK5Jdep8w 密码: ayj6
3.验证tomcat中JMX配置是否生效
下载完测试工具后,在客户端上执行下面语句
java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 127.0.0.1:12345 java.lang:type=Memory NonHeapMemoryUsage
如果有如下回显表示jmx配置正确,如不正确,请检查配置,看下端口启动是否正常,server.xml 配置。
[root@iZ25jlnbis45hZ bin]# java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 本机ip地址:12345 java.lang:type=Memory NonHeapMemoryUsage 03/13/2018 15:55:55 +0800 org.archive.jmx.Client NonHeapMemoryUsage: committed: 71368704 init: 24313856 max: 136314880 used: 70928432
经过上面的服务器端和客户端的配置,离成功只差最后一步。
二、导入模板到zabbix,并关联到主机,添加监控
选择配置:主机-模板-选择-模板-:
Template JMX Tomcat
Template JMX Generic
这里我为大家提供一个模板,链接:https://pan.baidu.com/s/1d3c-6WRId9y3aAowj_5cag 密码:v83m,导入后如下:
导入模板以后主机添加JMX接口:
接下来就可以查看图形(配置完出图形,大概需要10分钟左右的时间获取服务器上的数据,请耐心等待):
JDK也提供了图像化界面的软件来监控Tomcat虚拟机
安装完window版的jdk后,在C:\Program Files\Java\jdk1.8.0_144\bin中即可看到jvisualvm.exe的可执行文件。
双击jvisualvm.exe添加JMX链接,添加上主机ip:端口即可连接。
您的资助是我最大的动力!
金额随意,欢迎来赏!