一 zabbix_server添加对Java的支持

(1)zabbix添加对java的支持:

zabbix_server编译时添加 –enable-java

[root@prx02 zabbix-3.0.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-java

(2)配置zabbix_server.conf:

[root@localhost zabbix_java]# vim /usr/local/zabbix/etc/zabbix_server.conf

修改以下几项:

JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

(3)启动zabbix_java:

[root@localhost zabbix_java]# cd /usr/local/zabbix/sbin/zabbix_java/

[root@localhost zabbix_java]# vim /usr/local/zabbix/sbin/zabbix_java/settings.sh

启动这几项:

LISTEN_IP=”0.0.0.0″
LISTEN_PORT=10052
PID_FILE=”/tmp/zabbix_java.pid”
START_POLLERS=5
[root@localhost zabbix_java]# ./startup.sh

重启zabbix_server:

[root@localhost zabbix_java]# service zabbix_server restart

二 配置zabbix客户端的Tomcat

(1)给待监控的tomcat添加catalina-jmx-remote.jar

[root@localhost tmp]# wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.70/bin/extras/catalina-jmx-remote.jar

[root@sevA lib]# mv /tmp/catalina-jmx-remote.jar 
/usr/local/apache-tomcat-h5/lib

(2)修改该tomcat客户端的catalina.sh文件:

[root@sevA apache-tomcat-h5]# vim /usr/local/apache-tomcat-h5/bin/catalina.sh

在文件最上面添加:

export CATALINA_OPTS=”$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12000
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.1.232″

注:

  • 这里12000端口指的是zabbix_server获取数据的端口,后面配置web界面时需要用到

  • 192.168.1.232指的是该tomcat所在的IP地址

(3)启动tomcat:

[root@sevA bin]# /usr/local/apache-tomcat-h5/bin/startup.sh

三 在zabbix_server上测试获取数据

(1)下载cmdline-jmxclient-0.10.3.jar :

地址:http://pan.baidu.com/s/1nvGWeO5

(2)在zabbix_server使用cmdline-jmxclient获取数据:

[root@localhost zabbix]# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.232:12000 java.lang:type=Memory NonHeapMemoryUsage

输出如下:

07/06/2016 14:03:21 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 52559872
init: 24576000
max: 136314880
used: 51997824

四 zabbix的web界面配置

(1)主机增加JMX接口:

zabbix监控Tomcat_第1张图片

(2)Link TOMCAT模板:

切换到templates选项卡,选择zabbix自带的tomcat/JMX模板(PS:如果tomcat的端口已经更改过的话,需要重新复制原来的模板并修改其中的key和端口号)

zabbix监控Tomcat_第2张图片

问:如何监控同一主机上的多个Tomcat实例?

只需要完全复制一套tomcat自带的tomcat模板,然后重命名键和键值即可(PS:因为zabbix中不允许两个一样的Key存在),主要修改几个跟你应用对应的端口号即可

(3)最后的效果如下:

zabbix监控Tomcat_第3张图片

参考文章:

  • http://www.bfish.net/2016/05/zabbix-jvm-tomcat.html


PS:上面图片中的水印是我个人博客的域名,因此还请管理员手下留情不要给我标为“转载文章”,谢谢!!!