A-A+

zabbix监控tomcat

2017年02月27日 zabbix 暂无评论 阅读 2,095 views 次
摘要:

zabbix server想获取一台服务器的特定的JMX值时,它向Zabbix-Java-gateway询问,而Zabbix-Java-gateway使用“JMX management API”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX查询就行了。

Zabbix server有一个特殊的进程用来连接Java gateway叫Start Java Pollers;Java gateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Java gateway将继续从JMX counter取数据。所以Start Java Pollers设置的值要小于等于START_POLLERS设置的值。Zabbix-Java gateway就相当于一个代理。

1.zabbix_server端安装jdk

# java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)

出现此界面,说面jdk安装成功

2.编译zabbix的时候添加用于监控JMX应用程序的服务“Zabbix-Java-gateway”

备份zabbix_server.conf和zabbix_agentd.conf文件,重新编译安装zabbix,需要添加参数--enable-java

# ./configure --enable-server --enable-agent     --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2 --enable-java

如果原来已经安装zabbix,只需要再添加一下zabbix-java-gateway

# tar zxvf zabbix-2.2.0.tar.gz
# cd zabbix-2.2.0
# ./configure --enable-java --prefix=/usr/local/zabbix/zabbix_java
# make && make install

3.修改zabbix-java-gateway相关选项

修改Java-gateway的配置文件
在配置文件 settings.sh 中,可以配置以下参数:

LISTEN_IP="zabbix_server端ip"
LISTEN_PORT=10052
START_POLLERS=5

4.修改zabbix_server文件

启用其中的几项,使支持java-gateway
zabbix_server 或 zabbix_proxy 的配置文件中有以下内容需要配置:

JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

5.启动zabbix-java-gateway

cd  /usr/local/zabbix/zabbix_java/sbin/zabbix_java/
./startup.sh
#netstat –nlp |grep 10052
tcp        0      0 *:10052             *:*                         LISTEN      2598/java

6.调整tomcat端,安装catalina-jmx-remote.jar

将下载好的文件存放到tomcat子目录目录lib录下

# wget  http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/extras/catalina-jmx-remote.jar
# mv catalina-jmx-remote.jar /usr/local/tomcat/lib/

7.修改catalina.sh文件

修改catalina.sh文件,添加

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=客户端ip地址"

8.重启启动tomcat服务和zabbix_agentd服务

9.服务器端测试是否能正常获取信息

# wget http://repo.typesafe.com/typesafe/repo/cmdline-jmxclient/cmdline-jmxclient/0.10.3/cmdline-jmxclient-0.10.3.jar
# java -jar /root/cmdline-jmxclient-0.10.3.jar  - 10.0.0.25:9999 java.lang:type=Memory NonHeapMemoryUsage
02/24/2017 15:42:02 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 48343782
init: 28312816
max: 129314780
used: 49012684

10.zabbix的web端自定义监控项

添加jmx监控端口
自定义监控项
查看绘图结果
附件为一份网络上大家分享的模板,可直接下载导入。
zbx_tomcat_templates

给我留言

本站理念:

致力于运维技术的分享,运维前源技术的探讨,欢迎广大朋友一起参与,一起分享,共同成长。

交流探讨:

QQ群:26489714