天天看點

zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat

zabbix5.0實戰監控Tomcat

1、準備環境

  • 一個部署完成的zabbix5.0環境(IP:192.168.1.51)
詳細的安裝參考:https://blog.csdn.net/yu33575/article/details/110819091
  • 一個部署了Tomcat的伺服器(IP:192.168.1.52)
詳細的安裝參考:https://blog.csdn.net/yu33575/article/details/113337166

2、Zabbix監控Tomcat原理(圖檔來源于網絡)

zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat
通俗地講: zabbix-server會開啟zabbix-javaPoller程序,去連接配接zabbx_java開啟的zabbix-JavaGateway程序請求資料,而zabbix-JavaGateway接收到請求後通過JMX并開啟12345端口,提供性能資料。

3、配置Tomcat用戶端

  • 配置Tomcat JMX
JMX(Java Management Extensions,即Java管理擴充)是一個為應用程式、裝置、系統等植入管理功能的架構。JMX可以跨越一系列異構作業系統平台、系統體系結構和網絡傳輸協定,靈活的開發無縫內建的系統、網絡和服務管理應用。
vi /usr/local/tomcat/apache-tomcat-9.0.41/bin/catalina.sh						#在開頭添加以下配置
	CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345 -Djava.rmi.server.hostname=192.168.1.52"
           
參數 說明
-Dcom.sun.management.jmxremote 啟用JMX
-Dcom.sun.management.jmxremote.authenticate=false 是否開啟認證(有需求的話可以開啟認證,需定義使用者名和密碼)
-Dcom.sun.management.jmxremote.ssl=false 是否使用 ssl
-Dcom.sun.management.jmxremote.port=12345 監聽端口
-Djava.rmi.server.hostname=192.168.1.52 Tomcat 所在伺服器 IP 位址
/usr/local/tomcat/apache-tomcat-9.0.41/bin/shutdown.sh							#重新開機Tomcat,出現12345端口
/usr/local/tomcat/apache-tomcat-9.0.41/bin/startup.sh    
           
zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat

4、配置zabbix服務端

  • 安裝配置JDK
這裡下載下傳的是JDK8.0版,[jdk-8u181-linux-x64.tar.gz 提取碼為QsVf]
tar zxvf jdk-8u181-linux-x64.tar.gz
mkdir /usr/local/jdk									#建立jdk的目錄用來存放解壓後的檔案
mv jdk1.8.0_181/ /usr/local/jdk/
           
修改配置檔案(添加環境變量)
vi /etc/bashrc      									#(或者/etc/profile)
	.....												#末尾添加
	export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
	export JRE_HOME=${JAVA_HOME}/jre
	export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
	export PATH=${JAVA_HOME}/bin:$PATH
source /etc/bashrc										#source指令使定義的環境變量生效
java -version
           
  • 安裝 zabbix-java-gateway
yum list zabbix*
yum install -y zabbix-java-gateway
systemctl start zabbix-java-gateway
systemctl enable zabbix-java-gateway
netstat -antup | grep 10052
       tcp6       0      0 :::10052                :::*                    LISTEN      25147/java
           
同時可以使用編譯安裝 zabbix-java-gateway ,隻需在編譯安裝 zabbix-server 時加上–enable-java 子產品以支援JMX監控,如果之前編譯沒有加入該子產品,需重新編譯,但注意:不要 make install 否則都将會被重置! 編譯完成後就會在你定義的路徑下出現一個目錄檔案zabbix_java
  • 修改 java-gateway 和 zabbix-server 的配置
vi /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												#開啟的工作程序數
	...
vi /etc/zabbix/zabbix_server.conf								#将以下内容取消注釋并修改為如下(預設的情況下,zabbix server未啟用javaPollers)
	...
	JavaGateway=127.0.0.1										#JavaGateway的位址(本機安裝可使用127.0.0.1)
	JavaGatewayPort=10052										#JavaGateway的端口号					
	StartJavaPollers=5											#開啟的程序數量(大于用戶端的數量)
	...
systemctl restart zabbix-java-gateway
systemctl restart zabbix-server
           
zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat
  • 下載下傳測試工具 cmdline-jmxclient-0.10.3.jar 進行測試
測試工具下載下傳位址為:https://pan.baidu.com/s/1GshHR6OgSQdaIajKI48IGg 提取碼:WqoF
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.52:12345 java.lang:type=Memory HeapMemoryUsage
           
出現回顯資訊,表示JMX配置生效!!
zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat

5、配置Zabbix-Web界面

  • 建立一個主機利用JMX接口監控tomcat被監控端
zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat
  • 添加tomcat模闆(這裡使用的是zabbix自帶的), 也可以根據需求自定義模闆,關聯到主機上即可
zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat
zabbix5.0實戰監控Tomcatzabbix5.0實戰監控Tomcat
注意:ZBX和JMX 變為綠色表示配置成功,也可檢視/var/log/zabbix/zabbix-server.log日志,出現enabling Zabbix agent checks on host “Tomcat-agent”: host became available 表示配置成功

繼續閱讀