一,zabbx使用jmx监控tomcat的原理分析java
cd /usr/local/src tar -zxvf jdk1.8.0_65.tar.gz mv jdk1.8.0_65 /usr/local/ vim /etc/profile.d/java.sh #!/bin/bash export JAVA_HOME=/usr/local/jdk1.8.0_65 export PATH=$JAVA_HOME/bin:$PATH export JRE_HOME=/usr/local/jdk1.8.0_65 export CLASSPATH=/usr/local/jdk1.8.0_65/lib/tools.jar:/usr/local/jdk1.8.0_65/lib/dt.jar source /etc/profile
3,修改java-gateway的配置文件(默认java-gateway开启的是10052端口)vim
vim /etc/zabbix/zabbix_java_gateway.conf 更改以下配置: #监控地址 LISTEN_IP="0.0.0.0" #监听端口 LISTEN_PORT=10052 #进程文件路径 PID_FILE="/var/run/zabbix/zabbix_java.pid" #开启的工做线程数 START_POLLERS=5 #超时 TIMEOUT=3
systemctl restart zabbix-java-gateway
vim /etc/zabbix/zabbix_server.conf # JavaGateway的服务器IP地址 JavaGateway=192.168.1.61 # JavaGateway的服务端口 JavaGatewayPort=10052 # 从javaGateway采集数据的进程数 StartJavaPollers=5
6, 重启zabbix-server服务器api
systemctl restart zabbix-server
CATALINA_OPTS="$CATALINA_OPTS -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.36" //tomcat客户端ip 重启进程: ./shutdown.sh && ./startup.sh
8,测试jmx远程端口是否开启成功而且获取数据(java-gatewya主要是和tomcat远程端口进行通讯)。测试工具备3个,供选择!其实都是链接到jmx上面去而已。tomcat
a,jmxclient (大部分人都用这个) https://sourceforge.net/projects/jmxcmd/ 打开后点击下载便可 b,jmxterm (不多有人用这个) http://sourceforge.net/projects/cyclops-group/files/jmxterm/ c,jconsole (不少人用这个) 这是个安装jdk自带的工具,须要支持图形化。若是你的电脑安装了jdk,那么就会还有这个工具了。
9,安装测试工具完成以后,测试是否可以获取数据。(ps:有的人会去下载 catalina-jmx-remote.jar这个包放到tomcat的lib目录,其实这个是不须要的)bash
运行刚刚下载的工具:服务器
java -jar jmxcmd.jar - 192.168.1.36:12345
成功后能够看到获取到了数据工具
10,导入模版(该模版是3.0版本的zabbix,因为我用的jdk是1.8.0,因此监控项中的老年代(old gen)名其实已经为Tenured Gen(老年代),为了可以监控到old gen,因此模版里面也是有该监控项的,只是处于停用状态)测试
下载连接以下:ui
https://coding.net/api/user/molini/project/zabbix/folder/4326588/downloadspa