zabbix3.0部署jmx監控tomcat

zabbix3.0部署jmx監控tomcat

zabbix提供了一個java gateway的應用去監控jmx(Java Management Extensions,即Java管理擴展)是一個爲應用程序、設備、系統等植入管理功能的框架。JMX可以跨越一系列異構操作系統平臺、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。

一. Zabbix 的JMX監控架構

一:部署環境

Centos   6.7
Zabbix     3.0.3
Tomcat     7.0.55

服務端配置

1、安裝jdk(版本1.7.0_79)

JDK 各自的版本7.0 還是8.0 版本官網下載:JDK

我這裏也上傳了7.0.67 版本的和8.0版本的jdk源碼包:

7.0JDK源碼包

8.0JDK源碼包

並上傳到zabbix server

直接解壓下載下來的包到自定義的目錄:

tar -zxvf jdk1.7.0_67.tar.gz -C /srv/

安裝成功之後添加系統環境變量


cd /etc/profile.d
vim java.sh
export JAVA_HOME=/srv/jdk1.7.0_67
export CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
export PATH=$PATH:$JAVA_HOME/bin

使配置生效

source /etc/profile

安裝與配置比較簡單。執行java -version命令,出現類似界面表示成功。

java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

如果出現問題,查看下環境變量是否設置。

2、安裝Zabbix-Java-gateway

Zabbix2.0起添加了支持用於監控JMX應用程序的服務進程,稱爲“Zabbix-Java-gateway”,它是用java寫的一個程序。

安裝gateway,需要java,java-devel依賴

安裝yum源:yum install -y http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
安裝gateway:yum install -y  java  java-devel  zabbix-java-gateway 

測試是否成功:

第一:測試java是否成功

java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

第二:測試gateway是否安裝成功

#:service zabbix-java-gateway status
zabbix-java-gateway is stopped

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.89.204
# 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

2.下載測試工具cmdline-jmxclient-0.10.3.jar

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 配置。

07/22/2016 14:45:28 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 80347136
init: 24576000
max: 136314880
used: 46634984

二、導入模板到zabbix,並關聯到主機,添加監控

選擇配置:主機-模板-選擇-模板-:
Template JMX Tomcat
Template JMX Generic

從網上下載了一個不錯的模板,導入後如下:


導入模板以後主機添加端口:

然後查看圖形:

就有了。

三、如何監控單主機多個tomcat

監控多個tomcat實例,網上的詳細的配置文檔很少,幾乎沒有。比較好的辦法是使用自動發現,但剛使用zabbix,來不及研究,所以採用笨法,修改模板、監控項、圖形來達到最終目的。
關鍵配置:
1、添加主機時添加多個jmx端口

2、修改監控項、鍵值
在同一主機上,zabbix不允鍵值重複,但是監控的項目是一樣的,不可能鍵值寫的不重複,經過幾番搜索,找到方法如下:
只要在箭頭處添加1個空格就可以,也可以是多個。(注意位置不要錯,在逗到後面)

剩下的就是體力活了,克隆監控項、修改監控項、克隆圖形、修改圖形。。。
以下是兩個tomcat實例的監控項:

多個tomcat在一臺主機上面最後的監控效果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章