环境准备 准备一个tomcat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 192.168.10.102 test wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.93/bin/apache-tomcat-9.0.93.tar.gz tar -xf apache-tomcat-9.0.93.tar.gz cp -R apache-tomcat-9.0.93 /usr/local/tomcattar -xf jdk-8u421-linux-x64.tar.gz cp -R jdk1.8.0_421 /usr/local/jdk1.8echo 'export JAVA_HOME=/usr/local/jdk1.8' >> /etc/profilesource /etc/profile/usr/local/tomcat/bin/startup.sh ps -ef | grep java curl 192.168.10.102:8080
tomcat开启远程消息
修改catalina.sh中CATALINA_OPT java启动参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 /usr/local/tomcat/bin/catalina.sh CATALINA_OPTS="$CATALINA_OPTS \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=12345 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -Djava.rmi.server.hostname=192.168.10.102" pkill java /usr/local/tomcat/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.10.102 Tomcat started. ss -tunlp | grep java tcp LISTEN 0 50 [::]:39105 [::]:* users :(("java",pid=3539 ,fd=22 )) tcp LISTEN 0 1 [::ffff:127.0.0.1]:8005 [::]:* users :(("java",pid=3539 ,fd=70 )) tcp LISTEN 0 50 [::]:41100 [::]:* users :(("java",pid=3539 ,fd=20 )) tcp LISTEN 0 100 [::]:8080 [::]:* users :(("java",pid=3539 ,fd=63 )) tcp LISTEN 0 50 [::]:12345 [::]:* users :(("java",pid=3539 ,fd=21 ))
tomcat主机添加zabbix-agent
略过
zabbix-server部署java-gateway java-gateway本身就相当于一个服务端
需要单独为其配置zabbix-server,java-gateway通过zabbix-server连接数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 yum -y install zabbix-java-gateway.x86_64 修改zabbix配置文件 cp /etc/zabbix/zabbix_java_gateway.conf /etc/zabbix/zabbix_java_gateway.conf.bakecho "JavaGatewayPort=10052" >> /etc/zabbix/zabbix_java_gateway.confecho "JavaGateway=127.0.0.1" >> /etc/zabbix/zabbix_server.confecho "JavaGatewayPort=10052" >> /etc/zabbix/zabbix_server.confecho "StartJavaPollers=5" >> /etc/zabbix/zabbix_server.conf其实默认端口都是10052,不需要修改 systemctl enable zabbix-java-gateway.service --now systemctl restart zabbix-java-gateway.service zabbix-server.service ss -tunlp | grep 10052 tcp LISTEN 0 50 [::]:10052 [::]:* users :(("java",pid=3588 ,fd=12 ))
测试获取
1 2 3 4 5 6 使用cmdline这个包 wget https://github.com/qiueer/zabbix/blob/master/Tomcat/cmdline-jmxclient-0.10.3.jar java -jar cmdline-jmxclient-0.10.3.jar - 192.168.10.102:12345 echo $?0
网页端添加主机
配置-主机-新建主机
添加客户端为agent与jmx
添加模板Template App Apache Tomcat JMX,Template App Generic Java JMX