阿使得肌肤· 发表于 2015-11-23 11:47:22

zabbix 使用JMX 监控tomcat

  JMX (Java Management Extensions),是java提供的一种管理接口,通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等。
  百度百科介绍:JMX
  zabbix监控机 :os -------cent6.5 x64


  zabbix------2.4.6 ,使用yum安装方式安装。
  被监控机:      os--------cent6.5 x64
  java-------官网下载JDK8 安装 ,注意!!!!
  tomcat8-----官网下载tar.gz包



  


  配置zabbix 监控机:yum 安装的zabbix是不带java gateway的 ,需要从官网下载zabbix-java-gateway
其监控流程如下
  zabbix_server <-> Java Gateway <-> JMX server<->java app


  


  下载java gateway后编译安装

cd zabbix-2.4.6 &&./configure --enable-java --prefix=/usr/local/zabbix安装目录修改在/usr/local/zabbix ,该过程可能会提示缺少javacc ,或者一些其他的编译异常,
  解决办法为从java官网下载JDK (不要用yum装,版本太老)安装。完成configure过程后安装make && make install进入编译好的java gateway 目录cd /usr/local/zabbix/sbin/zabbix_java
修改配置文件vim settings.sh将LISTEN_IP=0.0.0.0,LISTEN_PORT=10052,START_POLLERS=5解除注释。
  启动java gateway进程./start.sh查看进程ps aux | grep javazabbix   222700.00.0 1654642988 ?      S    Oct26   0:02 zabbix_server: java poller #1
zabbix   222710.00.0 1654643032 ?      S    Oct26   0:02 zabbix_server: java poller #2
zabbix   222720.00.0 1654642988 ?      S    Oct26   0:02 zabbix_server: java poller #3
zabbix   222730.00.0 1655203168 ?      S    Oct26   0:02 zabbix_server: java poller #4
zabbix   222740.00.0 1655163100 ?      S    Oct26   0:02 zabbix_server: java poller #5

  修改zabbix_server 文件zabbix_server.conf,修改如下项### Option: JavaGateway
#       IP address (or hostname) of Zabbix Java gateway.
#       Only required if Java pollers are started.
#
# Mandatory: no
# Default:
# JavaGateway=
JavaGateway=127.0.0.1
### Option: JavaGatewayPort
#       Port that Zabbix Java gateway listens on.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# JavaGatewayPort=10052
JavaGatewayPort=10052
### Option: StartJavaPollers
#       Number of pre-forked instances of Java pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartJavaPollers=0
StartJavaPollers=5
即让zabbix_server 链接到本地10052 端口与java_gateway 通信。重启zabbix_server zabbix 配置完成service zabbix-server restart

配置被监控机:将下载tomcat 解压至用户目录 /root/apache-tomcat-7.0.65修改conf/server.xml在server标签下添加一行<Listener className=&quot;org.apache.catalina.mbeans.JmxRemoteLifecycleListener&quot; rmiRegistryPortPlatform=&quot;12345&quot; rmiServerPortPlatform=&quot;12346&quot; />修改bin/catalina.sh在Execute The Requested Command 下面增加一行CATALINA_OPTS=&quot;-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.5.59&quot;这里192.168.5.59 为该本监控机的ip地址,另外建议将hosts 文件中 127.0.0.1 增加该机hostname,否则java 报错但是不影响进程运行。
  下载catalina-jmx-remote.jar 并将其放入lib/执行/bin/startup.sh启动tomcat进程,执行结果Using CATALINA_BASE:   /root/apache-tomcat-7.0.65
Using CATALINA_HOME:   /root/apache-tomcat-7.0.65
Using CATALINA_TMPDIR: /root/apache-tomcat-7.0.65/temp
Using JRE_HOME:      /usr/java/jdk1.8.0_65
Using CLASSPATH:       /root/apache-tomcat-7.0.65/bin/bootstrap.jar:/root/apache-tomcat-7.0.65/bin/tomcat-juli.jar
Tomcat started.
  至此,配置结束。然后是使用调试工具cmdline-jmxclient-0.10.3.jar调试jmx ,在zabbix 监控机上运行java -jar cmdline-jmxclient-0.10.3.jar - 192.168.5.59:12345 java.lang:type=RuntimeUptime将返回tomcat的uptime
  最后就可以在zabbix的监控面板中使用jmx agent的方式添加监控了。



参考http://www.aikaiyuan.com/2993.html
页: [1]
查看完整版本: zabbix 使用JMX 监控tomcat