配置Tomcat JMX
1.vi /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote (启动JMX)
-Dcom.sun.management.jmxremote.authenticate=false (是否需要口令验证 false不需要)
-Dcom.sun.management.jmxremote.ssl=false 是否加密的 false不需要
# -Dcom.sun.management.jmxremote.port=12345 需要启动的端口1 2 3 4 5 ---这条不要否则防火墙不能开启
-Djava.rmi.server.hostname=192.168.31.56" ---- tomcat主机IP
2.在 tomcat 下载页面 Extras 类别中下载 JMX Remote jar 二进制包。放在 tomcat/lib
下面.
3.在conf/server.xml中添加一行
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346" />
防火墙开启端口
firewall-cmd --add-port=12345/tcp --permanent
firewall-cmd --add-port=12346/tcp --permanent
重启tomcat
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
ss -tlanp
zabbix server配置-192.168.31.55
yum install -y zabbix-java-gateway.x86_64 #安装zabbix-java
vi /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0" #监听地址 9
LISTEN_PORT=10052 #监听端口 17
PID_FILE="/var/run/zabbix/zabbix_java.pid" 27
START_POLLERS=5 #开启的工作线程数(必须大于等于后面zabbix_server.conf文件的StartJavaPollers参数)35
systemctl start zabbix-java-gateway.service
vi /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.31.55 # JavaGateway 服务器地址 219
JavaGatewayPort=10052 227
StartJavaPollers=5 235
systemctl restart zabbix-server.service
web端配置
主机增加JMX接口:进入后台,configuration->hosts->选择你的主机->jmx interface 点击add,输入对应的tomcat ip地址和jmx端口
Link TOMCAT模板:切换到templates选项卡,选择zabbix自带的tomcat/JMX模板
使用 cmdline-jmxclient 抓取信息
下载jmxcmd.jar
敲命令获取信息即为成功 java -jar jmxcmd.jar - 10.6.3.5:12345 java.lang:type=Memory NonHeapMemoryUsage
08/16/2018 15:35:17 +0800 de.layereight.jmxcmd.Client NonHeapMemoryUsage:
committed: 540278784
init: 539426816
max: 587202560
used: 34898640