56u6i 发表于 2016-3-22 08:29:58

zabbix通过JMX 监控tomcat

一、环境
1.Centos6.5 tomcat7
2.需要用到的文件:catalina-jmx-remote.jar和cmdline-jmxclient-0.10.3.jar
二、JDK安装方法不做相关的解释了。
三、zabbix安装
四、需要重新编译zabbix_java
1. cd /usr/local/src/zabbix-2.2.6
2. ./configure --enable-java --prefix=/usr/local/zabbix/zabbix_java
3. make&&make install
五、更改配置文件
1. vim /usr/local/zabbix/zabbix_java/sbin/zabbix_java/settings.sh
   配置如下参数:
    LISTEN_IP="0.0.0.0" #监听地址
    LISTEN_PORT=10052#监听端口
    PID_FILE="/tmp/zabbix_java.pid" #开启的工作线程数
    START_POLLERS=5
2. vim /usr/local/zabbix/etc/zabbix_server.conf
   配置如下参数:
   JavaGateway=127.0.0.1
   JavaGatewayPort=10052 #端口
   StartJavaPollers=5   # 从javaGateway采集数据的进程数
3.启动zabbix_java
   /usr/local/zabbix/zabbix_java/sbin/zabbix_java/./startup.sh
   #netstat -an|grep 10052
   #显示如下信息即为成功

六、tomcat配置部分
1.cd /usr/local/tomcat/lib/
2.将catalina-jmx-remote.jar和cmdline-jmxclient-0.10.3.jar 上传到/usr/local/tomcat/lib/下。
3.cp catalina-jmx-remote.jar /usr/local/zabbix/zabbix_java/sbin/zabbix_java/lib/ #将.jar包放到zabbix_java/lib下是为了防止出现类没有发现的异常。
4.vim /usr/local/tomcat/conf/server.xml #修改server.xml配置文件
   配置如下参数:
   <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346"/>
5.vim /usr/local/tomcat/bin/catalina.sh
   配置如下参数:
   CATALINA_OPTS="-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost"
#填在前面即可,如图:6.启动tomcat:
/usr/local/tomcat/bin/./startup.sh   #tomcat启动命令
七、测试是否能获得数据
1.使用cmdline-jmxclient-0.10.3.jar文件测试是否能够取到数据
   java -jar /usr/local/tomcat/lib/cmdline-jmxclient-0.10.3.jar - XX.XX.XX.XX(#服务器IP)IP:12345 java.lang:type=Memory NonHeapMemoryUsage
如图显示即为成功:



配置完成

页: [1]
查看完整版本: zabbix通过JMX 监控tomcat