监控tomcat首先需要编译安装zabbix_java
#./configure --enable-java --prefix=/usr/local/zabbix_java
#make && make install
安装完毕以后需要做一些配置
#vim /usr/local/zabbix_java/sbin/zabbix_java/settings.sh
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid"
START_POLLERS=5
编辑zabbix_server的配置文件,开启如下选项
#vim /usr/local/zabbix/etc/zabbix_server.conf
JavaGateway=192.168.1.3 #zabbix_server的ip地址
JavaGatewayPort=10052
StartJavaPollers=5
接下来我们还需要配置tomcat
先下载catalina-jmx-remote.jar包,拷贝到tomcat/lib目录下
然后再修改tomcat的server.xml,增加下面一段
<ListenerclassName="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"rmiRegistryPortPlatform="12345"rmiServerPortPlatform="12346" />
编辑tomcat的catalina.sh文件,增加下面一段
export CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=192.168.1.2" #这里写tomcat的服务器ip地址
配置完毕后就可以启动zabbix_java服务了,重启tomcat,zabbix_server服务
可以使用cmdline_jmxclient来抓取数据
#java -jarcmdline-jmxclient-0.10.3.jar - 192.168.1.2:12345 java.lang:type=MemoryNonHeapMemoryUsage
04/24/2015 16:44:19 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 24313856
init: 24313856
max: 136314880
used: 18165304
可以看到已经抓取到数据了,接下来就可以再zabbix_server的dashboard页面中配置了
zabbix2.2中已经自带了监控tomcat的模版,但是不一定符合生产的需要,所以我们需要自定义模版,我找了个不错的模版,放在附件里面
特别注意,在配置主机的时候需要开启JMX,如图