zabbix-----3------監控tomcat

首先咱們要安裝上tomcat+jdk
java

我這裏使用rpm包直接安裝的:node

[root@zabbix-node2 ~]# rpm -ivh jdk-8u102-linux-x64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8.0_102-2000:1.8.0_102-fcs  ################################# [100%]
[root@zabbix-node2 ~]# java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

#安裝tomcat
mysql

[root@zabbix-node2 ~]# tar xf apache-tomcat-7.0.53.tar.gz -C /usr/local
[root@zabbix-node2 ~]# ls /usr/local/apache-tomcat-7.0.53/
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
[root@zabbix-node2 ~]# ln -s /usr/local/apache-tomcat-7.0.53/ /usr/local/tomcat
[root@zabbix-node2 ~]# cd /usr/local/tomcat/bin/
[root@zabbix-node2 bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@zabbix-node2 bin]# netstat -lntup|grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2850/nginx: master  
tcp6       0      0 :::8009                 :::*                    LISTEN      4795/java           
tcp6       0      0 :::8080                 :::*                    LISTEN      4795/java

驗證:linux

wKiom1jQ0grC41OAAAFLCtudEGo562.png

這裏能夠使用官方的java-gatway來監控nginx

zabbix-server會去找java-gateway,由javagateywa去找jmxweb

因此咱們這裏要找一臺設備安裝javagateway,這裏安裝到server-zabbix上
sql

[root@zabbix-node1 ~]# yum install zabbix-java-gateway^V^C
[root@zabbix-node1 ~]# systemctl start zabbix-java-gateway.service
[root@zabbix-node1 ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      5506/mysqld         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1274/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1857/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      7923/zabbix_agentd  
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      7117/zabbix_server  
tcp6       0      0 :::80                   :::*                    LISTEN      5588/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1274/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1857/master         
tcp6       0      0 :::10050                :::*                    LISTEN      7923/zabbix_agentd  
tcp6       0      0 :::10051                :::*                    LISTEN      7117/zabbix_server  
tcp6       0      0 :::10052                :::*    #監聽的這個端口                LISTEN      8776/java

window上安裝jdkapache

wKioL1jQ2LehjM55AADN3jcClNo006.png-wh_50

配置zabbix-server去鏈接java-gateway
bootstrap

 vim /etc/zabbix/zabbix_server.conf
 JavaGateway=192.168.56.11
 StartJavaPollers=5 #若是tomcat不少的話,這個採集器要配置的大點

重啓服務:systemctl restart zabbix-java-gateway.servicevim

這裏能夠zabbix能夠監控java程序來。下面要多tomcat開啓jmx。下面咱們修改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.56.21"
# OS specific support.  $var _must_ be set to either true or false.

而後tomcat重啓服務。就能夠看到端口12345

======================================================

下面window上面安裝完成後,咱們在這個路徑下面C:\Program Files\Java\jdk1.8.0_66\bin找到「jconsole」點擊打開,以下圖:

wKioL1jQ3C2Tv3ZjAAC4w9jWu4s584.png

經過遠程鏈接,輸入192.168.56.21:12345鏈接到剛剛配置的tomcat。這個也是剛剛添加catalina裏面配置的信息才能鏈接

上傳一個cmdline-jmxclient-0.10.3到21上面。

使用cmdline-jmxclient-0.10.3到

wKioL1jR4zLDlQ_QAADF_ygzcEE367.png測試取內存的值:

wKiom1jR5BfB-e3OAACuV1pKr9U209.png


如何取上面輸出的值那???

下面咱們新建立一個主機

wKiom1jR5gSRpgD4AACZ0yD7IAA347.png

wKioL1jR5gTRRULsAAAqT1RmIi4780.png

上面這幾步完成一個主機的建立

對於以下圖的不支持的items咱們要從jconsole裏面找到新的內容,讓他支持。

wKioL1jR5tuCeEsTAAC6diCyJM4063.png

若是從jconsole裏面沒有找到,說明新的設備的java已經沒有這個項了。咱們要選擇刪除這部分,若是有咱們把jconsole裏面顯示的新的內容替換item模板裏面的key

下面演示一個8080的錯誤,按照找的方法,咱們找到了jconsole上面的對應的項目值,而後從server上測試發現沒有註冊,這個是什麼緣由?如圖:

wKioL1jR6T6Slg9-AAHL0XwiuSE439.png-wh_50

這裏是由於名字中有雙引號的緣由,咱們須要轉移,以下命令

[root@zabbix-node2 ~]# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.21:12345 Catalina:type=GlobalRequestProcessor,name=\"http-bio-8080\"
Attributes:
 requestCount: Introspected attribute requestCount (type=int)
 maxTime: Introspected attribute maxTime (type=long)
 bytesReceived: Introspected attribute bytesReceived (type=long)
 modelerType: Type of the modeled resource. Can be set only once (type=java.lang.String)
 bytesSent: Introspected attribute bytesSent (type=long)
 processingTime: Introspected attribute processingTime (type=long)
 errorCount: Introspected attribute errorCount (type=int)
Operations:
 resetCounters: Introspected operation resetCounters
  Parameters 0, return type=void
[root@zabbix-node2 ~]# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.21:12345 Catalina:type=GlobalRequestProcessor,name=\"http-bio-8080\"  requestCount
03/21/2017 13:24:01 -0400 org.archive.jmx.Client requestCount: 0

而後咱們修改模板中item的key值

wKiom1jR6nHAoJjRAAELA8sLR3c612.png-wh_50


tomcat 7和8 都會不一樣,須要本身修改本身的模板,而後導出

相關文章
相關標籤/搜索