Zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Javagateway”;它是用java写的一个程序。
一.安装配置
1.工作原理:
zabbixserver想知道一台主机上的特定的JMX值时,它向Zabbix-Javagateway询问,而Zabbix-Javagateway使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX查询就行了。
Zabbixserver有一个特殊的进程用来连接Javagateway叫StartJavaPollers;Javagateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Javagateway将继续从JMXcounter取数据。所以
StartJavaPollers设置的值要小于等于START_POLLERS设置的值。
Zabbix-Javagateway就相当于一个代理。
zbx_tomcat_templates 下载:
具体下载目录在 /2014年资料/6月/27日/Zabbix监控-使用JMX功能监控Tomcat安装配置
2.安装Javagateway
软件包在zabbix自带的有,目前暂时只支持从zabbix软件包中获得
1.确认已安装jdk
# java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
#出现此界面,说面jdk安装成功
2.安装Javagateway如果原来已经安装zabbix,只需要再添加以下zabbix-java
# tar zxvf zabbix-2.2.0.tar.gz
# cd zabbix-2.2.0
# ./configure --enable-java --prefix=/opt/zabbix_java
# make && make install
3.修改Javagateway的配置文件
在配置文件 settings.sh 中,可以配置以下参数:
LISTEN_IP="XX.XX.XX.XX" #zabbix_server端ip地址
LISTEN_PORT=10052
START_POLLERS=5
4.修改zabbixserver的配置文件,使支持javagateway
zabbix_server 或 zabbix_proxy 的配置文件中有以下内容需要配置:
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
5.启动javagateway
cd /usr/local/zabbix/zabbix_java/sbin/zabbix_java/
./startup.sh
#netstat –nlp |grep 10052
tcp 0 0 *:10052 *:* LISTEN 5011/java
一些Zabbix相关教程集合:
CentOS 6.3下Zabbix安装部署
CentOS 6.3下Zabbix监控apache server-status
二.客户端配置
下面的配置以监控tomcat为例
1. 在 tomcat 下载页面 Extras 类别中下载 JMX Remote jar 二进制包。放在 tomcat/lib 下面.
#wget –S
# mv catalina-jmx-remote.jar /webapp/tomcat6/lib/
2. 修改 tomcat/bin 目录下 catalina.sh ,添加以下内容:
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=fa lse
-Djava.rmi.server.hostname=客户端ip地址"
3.启动tomcat
# cd /usr/local/tomcat/bin/
# ./startup.sh
4.下载cmdline-jmxclient-0.10.3.jar文件测试是否恩能够取得数据
#wget
5.测试 有数据则表示成功
# java -jar cmdline-jmxclient-0.10.3.jar - localhost:12345 java.lang:type=Memory NonHeapMemoryUsage
01/26/2014 11:55:55 +0800 org.archive.jmx.Client NonHeapMemoryUsage: