一,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