一、server/proxy服务端配置


1、要实现zabbix server/proxy 对tomcat的监控,服务器端必须安装zabbix-Java-gateway


2、如果安装有zabbix-Java-gateway,可直接配置。如果没有需要重新编译zabbix server/prxoy.编译的时候需要添加参--enable-java

#cd /home/zabbix-3.0.5

#./configure --prefix=/usr/local/zabbix_proxy --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --enable-java

#make

#make install


3、配置setting.sh

zabbix通过JMX监控tomcat_第1张图片


配置文件很简单,如下:

# 监听地址
LISTEN_IP="0.0.0.0″
# 监听端口
LISTEN_PORT=10052
# PID_FILE文件
PID_FILE="/var/run/zabbix/zabbix_java.pid"
# 开启的工作线程数
START_POLLERS=5


4、启动zabbix-java-gateway:

/usr/local/zabbix_proxy/sbin/zabbix_java/目录下

#./startup.sh


5、再修改zabbix-server/proxy的配置,编辑vi /usr/local/zabbix_proxy/etc/zabbix_server.conf ,修改下面几个参数:
# JavaGateway的服务器IP地址
JavaGateway=192.168.89.204
# JavaGateway的服务端口
JavaGatewayPort=10052
# 从javaGateway采集数据的进程数
StartJavaPollers=5


6、配置文件修改后,重启zabbix-server:
service zabbix-server restart


二、tomcat端配置

1、开启JMX

如果tomcat是windows版本,编辑TOMCAT_HOME/bin/catalina.bat,在开头加入下面几行:
set CATALINA_OPTS=%CATALINA_OPTS% -Djava.rmi.server.hostname=JMX_HOST
set CATALINA_OPTS=%CATALINA_OPTS% -Djavax.management.builder.initial=
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote=true
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.port=JMX_PORT set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.ssl=false
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.authenticate=false


如果是Linux版本,编辑TOMCAT_HOME/bin/catalina.sh,在开头加入下面几行:

第一种方法: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=JMX_PORT -Djava.rmi.server.hostname=JMX_HSOT -Djava.net.preferIPv4Stack=true"


第二种方法:CATALINA_OPTS=${CATALINA_OPTS} -Djava.rmi.server.hostname=JMX_HOST CATALINA_OPTS=${CATALINA_OPTS} -Djavax.management.builder.initial= CATALINA_OPTS=${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true CATALINA_OPTS=${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=JMX_PORT CATALINA_OPTS=${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false CATALINA_OPTS=%{CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false

以上两种方法大同小异,我用的是第一种方法。
注意JMX_HOST为tomcat的主机名或IP地址,JMX_PORT为JMX端口,通常使用12345,然后重启tomcat,JMX就开启了。

Windows版截图:

zabbix通过JMX监控tomcat_第2张图片


Linux版截图:

zabbix通过JMX监控tomcat_第3张图片

2、在web端配置主机使用JMX

zabbix通过JMX监控tomcat_第4张图片

出图了