zabbix部署jmx監控tomcat
zabbix提供了一個java gateway的應用去監控jmx(Java Management Extensions,即Java管理擴展)是一個為應用程序、設備、系統等植入管理功能的框架。JMX可以跨越一系列異構操作系統平台、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。
一. Zabbix 的JMX監控架構
一:部署環境
服務端配置
安裝Zabbix-Java-gateway
Zabbix2.0起添加了支持用於監控JMX應用程序的服務進程,稱為“Zabbix-Java-gateway”,它是用java寫的一個程序。 安裝gateway,需要java,java-devel依賴
安裝yum源:yum install -y http://http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-java-gateway-3.0.6-1.el7.x86_64.rpm 安裝gateway:yum install -y java java-devel zabbix-java-gateway |
#:service zabbix-java-gateway status zabbix-java-gateway is stopped |
測試gateway是否安裝成功
3、修改Java-gateway的配置文件並啟動
配置文件單獨安裝的路徑為/etc/zabbix/zabbix_java_gateway.conf
# 監聽地址
LISTEN_IP=”0.0.0.0″
# 監聽端口
LISTEN_PORT=10052
# PID_FILE文件
PID_FILE=”/var/run/zabbix/zabbix_java.pid”
# 開啟的工作線程數
START_POLLERS=5
啟動zabbix-java-gateway:
service zabbix-java-gateway start
4、修改zabbix_server的配置文件並重啟
修改zabbix-server的配置,編輯/etc/zabbix/zabbix_server.conf ,修改下面幾個參數:
# JavaGateway的服務器IP地址
JavaGateway=192.168.1.12
# JavaGateway的服務端口
JavaGatewayPort=10052
# 從javaGateway采集數據的進程數
StartJavaPollers=5
配置文件修改后,重啟zabbix-server:
service zabbix-server restart
好,現在zabbix-java-gateway就配置好了。
以上步驟,服務端配置就已經完成。
客戶端配置
1、 添加tomact中JMX的參數
編輯tomcat服務中bin目錄下的catalina.sh
將以下參數,添加到CATALINA_OPTS的變量中:
-Djava.rmi.server.hostname=本地IP地址
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
這個是大多數網上資料推薦的方法,但是我沒做成功,就采取了在bin目錄下新建了一個文件
setenv.sh
CATALINA_OPTS="-Djava.rmi.server.hostname=your zabbix serverIP -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
下載測試工具cmdline-jmxclient-0.10.3.jar 這里需要翻牆下載或者自己找資源http://crawler.archive.org/cmdline-jmxclient/cmdline-jmxclient-0.10.3.jar
這里給無法翻牆的小伙伴我的百度雲鏈接下載
鏈接: https://pan.baidu.com/s/1cEUYLg3qFrn9ycbIHtxCXQ 密碼: 942f
cmdline-jmxclient-0.10.3.jar為一個測試工具,可用來測試jmx是否配置正確,下載cmdline-jmxclient-0.10.3.jar(下載到任意目錄)
wget http://crawler.archive.org/cmdline-jmxclient/cmdline-jmxclient-0.10.3.jar |
3.驗證tomcat中JMX配置是否生效
在本機上執行
java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 127.0.0.1:12345 java.lang:type=Memory NonHeapMemoryUsage |
如果有如下回顯表示jmx配置正確,如不正確,請檢查配置,看下端口啟動是否正常,server.xml 配置。
[root@master4 bigdata-push]# java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:12345 java.lang:type=Memory NonHeapMemoryUsage 05/21/2018 14:01:27 +0800 org.archive.jmx.Client NonHeapMemoryUsage: committed: 38141952 init: 2555904 max: -1 used: 37061984 |
這里tomcat中的JMX就配置成功了
二、導入模板到zabbix,並關聯到主機,添加監控
選擇配置:主機-模板-選擇-模板-:
Template JMX Tomcat
Template JMX Generic
三、如何監控單主機多個tomcat
1、添加主機時添加多個jmx端口
2、修改監控項、鍵值
在同一主機上,zabbix不允鍵值重復,但是監控的項目是一樣的,不可能鍵值寫的不重復,經過幾番搜索,找到方法如下:
只要在箭頭處添加1個空格就可以,也可以是多個。(注意位置不要錯,在逗到后面)
參考 https://blog.csdn.net/Hu_wen/article/details/53587250?locationNum=14&fps=1
2、修改監控項、鍵值
在同一主機上,zabbix不允鍵值重復,但是監控的項目是一樣的,不可能鍵值寫的不重復,經過幾番搜索,找到方法如下:
只要在箭頭處添加1個空格就可以,也可以是多個。(注意位置不要錯,在逗到后面)
剩下的就是常規工作克隆監控項、修改監控項、克隆圖形、修改圖形
tomcat最后的監控效果: