Zabbixserver有一个特殊的进程用来连接Javagateway叫StartJavaPollers;Javagateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Javagateway将继续从JMXcounter取数据。所以StartJavaPollers设置的值要小于等于START_POLLERS设置的值
zabbix-java-gateway工作在10052端口,Zabbix-Javagateway就相当于一个代理,它负责收集客户端tomcat数据
首先确保我们编译安装的时候--enable-java参数要带上,没有的话你需要重新编译下zabbix server
注意需要安装
yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64
如果我们不想编译安装到zabbix,我们可以安装到其他服务器上
配置zabbix_java_gateway
Java-gateway配置文件的START_POLLERS参数 >= zabbix_server配置文件的StartJavaPollers参数,建议都设为5
#vi /usr/local/zabbix/sbin/zabbix_java/settings.sh LISTEN_IP="0.0.0.0" #ip地址,本机可以不用修改 LISTEN_PORT=10052 PID_FILE="/tmp/zabbix_java.pid" START_POLLERS=5 TIMEOUT=3
我们还需要配置zabbix_server.conf,使它能够连接zabbix_java_gateway
#vi /usr/local/zabbix/etc/zabbix_server.conf JavaGateway=127.0.0.1 #本机就填写127.0.0.1 JavaGatewayPort=10052 StartJavaPollers=5
重启zabbix-server服务,同时需要开启zabbix server服务器中的zabbix_java服务,开启方法
/usr/local/zabbix/sbin/zabbix_java/startup.sh
默认zabbix-java-gateway日志存在放在/tmp/zabbix_java.log,我们可以在/usr/local/zabbix/sbin/zabbix_java/lib文件中修改其位置,同时可以将其调整为debug模式,能够提工更多的获取数据日志情况
接着我们修改被监控主机的tomcat配置
打开tomcat/bin/catalina.sh文件,在#!/bin/sh下面添加如下,172.26.61.56修改为你tomcat所在主机的IP
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345 -Djava.rmi.server.hostname=172.26.61.56"
查看12345端口监听情况
netstat -antlp|grep 12345
下载catalina-jmx-remote.jar文件保存到tomcat/lib下
文件可以在这里下载
http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/extras/catalina-jmx-remote.jar
重启tomcat
最后我们再去zabbix平台上添加以下两块监控模板
Template App Apache Tomcat JMX Template App Generic Java JMX