一 zabbix_server添加对Java的支持 (1)zabbix添加对java的支持: zabbix_server编译时添加 –enable-java 1
| [iyunv@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:
1
| [iyunv@localhost zabbix_java]# vim /usr/local/zabbix/etc/zabbix_server.conf
|
修改以下几项:
1
2
3
| JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
|
(3)启动zabbix_java:
1
2
3
| [iyunv@localhost zabbix_java]# cd /usr/local/zabbix/sbin/zabbix_java/
[iyunv@localhost zabbix_java]# vim /usr/local/zabbix/sbin/zabbix_java/settings.sh
|
启动这几项:
1
2
3
4
| LISTEN_IP=”0.0.0.0″
LISTEN_PORT=10052
PID_FILE=”/tmp/zabbix_java.pid”
START_POLLERS=5
|
1
| [iyunv@localhost zabbix_java]# ./startup.sh
|
重启zabbix_server:
1
| [iyunv@localhost zabbix_java]# service zabbix_server restart
|
二 配置zabbix客户端的Tomcat(1)给待监控的tomcat添加catalina-jmx-remote.jar:
(2)修改该tomcat客户端的catalina.sh文件:
1
| [iyunv@sevA apache-tomcat-h5]# vim /usr/local/apache-tomcat-h5/bin/catalina.sh
|
在文件最上面添加:
1
2
3
4
5
6
| 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: 1
| [iyunv@sevA bin]# /usr/local/apache-tomcat-h5/bin/startup.sh
|
三 在zabbix_server上测试获取数据(1)下载cmdline-jmxclient-0.10.3.jar : (2)在zabbix_server使用cmdline-jmxclient获取数据: 1
| [iyunv@localhost zabbix]# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.232:12000 java.lang:type=Memory NonHeapMemoryUsage
|
输出如下:
1
2
3
4
5
| 07/06/2016 14:03:21 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 52559872
init: 24576000
max: 136314880
used: 51997824
|
四 zabbix的web界面配置(1)主机增加JMX接口:
(2)Link TOMCAT模板: 切换到templates选项卡,选择zabbix自带的tomcat/JMX模板(PS:如果tomcat的端口已经更改过的话,需要重新复制原来的模板并修改其中的key和端口号)
问:如何监控同一主机上的多个Tomcat实例?
1
| 只需要完全复制一套tomcat自带的tomcat模板,然后重命名键和键值即可(PS:因为zabbix中不允许两个一样的Key存在),主要修改几个跟你应用对应的端口号即可
|
(3)最后的效果如下:
|