zabbix 监控jvm   / resin /tomcat

声明:不要尽信文档,每个人的环境不同,关键是原理!原理不懂的,请找度娘或者谷歌搜索,懂原理你才会懂得如何排错!

经过我个人测试,zabbix监控java程序jvm堆的运行状态,其实本质都是一样的!

核心是 jdk开启JMXremote端口,来让zabbix进入采集数据,

我测试的对象为: tomcat  /  resin ,目前比较主流的java中间件

废话不多说,现在开始操作

一、zabbix服务器端部署zabbix_java  

部署方法查看我的博客:http://jishuweiwang.blog.51cto.com/6977090/1360187

二、配置java环境 vi /etc/profile

JAVA_HOME=/opt/j2sdk

export JAVA_HOME

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:/usr/local/webserver/zabbix_java/sbin/zabbix_java/lib/catalina-jmx-remote.jar:/opt/j2sdk/jre/lib:/opt/j2sdk/lib

三、在java程度端,修改启动脚本catalina.sh或者httpd.sh。

jmx_config="-Dcom.sun.management.jmxremote.port -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.0.141"


说明:-Djava.rmi.server.hostname=192.168.0.141的使用是为了防止出现如图所示的错误

wKioL1MFxzLSS3flAAQg2mO6Xg4679.jpg

四、本地测试是否可以正常获取数据

1.获取测试的jar包

#wget http://repo.typesafe.com/typesafe/repo/cmdline-jmxclient/cmdline-jmxclient/0.10.3/cmdline-jmxclient-0.10.3.jar

2.将cmdline-jmxclient转移到zabbix_java的lib目录下.

2.测试获取数据(在zabbix-server端执行下列命令)

# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.0.141:12345 java.lang:type=Memory NonHeapMemoryUsage


更具体的,可以参考博文:http://blog.chinaunix.net/uid-29179844-id-4093754.html


你可能感兴趣的:(resin,zabbix,tomcat监控)