依然饭跑跑 发表于 2018-11-30 07:15:42

zabbix 监控jvm / resin /tomcat

  声明:不要尽信文档,每个人的环境不同,关键是原理!原理不懂的,请找度娘或者谷歌搜索,懂原理你才会懂得如何排错!
  经过我个人测试,zabbix监控java程序jvm堆的运行状态,其实本质都是一样的!

  核心是 jdk开启JMXremote端口,来让zabbix进入采集数据,
  我测试的对象为: tomcat/resin ,目前比较主流的java中间件
  废话不多说,现在开始操作

  一、zabbix服务器端部署zabbix_java

  部署方法查看我的博客:http://jishuweiwang.blog.运维网.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的使用是为了防止出现如图所示的错误
http://s3.运维网.com/wyfs02/M01/12/67/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:8999 java.lang:type=Memory NonHeapMemoryUsage
  

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




页: [1]
查看完整版本: zabbix 监控jvm / resin /tomcat