zabbix 監控tomcat的性能

zabbix 服務端配置java

1 安裝 Java gatewaymysql

找到zabbix 安裝的目錄,看你的目錄下是否有zabbix_java這個目錄,若是沒有說明你zabbix編譯的時候沒有加--enable-javaweb

ls /usr/local/zabbix/sbin/zabbix_java  //查看編譯--enable-java,編譯成功會有如下5個文件
bin  lib  settings.sh  shutdown.sh  startup.sh


[root@test1 zabbix_java]# pwd
/usr/local/zabbix/sbin/zabbix_javasql

2 配置Java gatewayapache

[root@test1 zabbix_java]# grep ^[^#] settings.sh  //修改zabbix_java參數以下
9 LISTEN_IP="0.0.0.0"
17 LISTEN_PORT=10052
27 PID_FILE="/tmp/zabbix_java.pid"
35 START_POLLERS=5  ## 開啓的工做線程數(必須大於等於後面zabbix_server.conf文件的StartJavaPollers參數)


vim /usr/local/zabbix/etc/zabbix_server.conf  //修改zabbix_server配置文件
30 LogFile=/tmp/zabbix_server.log 
78 DBName=zabbix
94 DBUser=zabbix
102 DBPassword=xxxxxx
109 DBSocket=/tmp/mysql.sock
198 JavaGateway=127.0.0.1
206 JavaGatewayPort=10052
214 StartJavaPollers=5


注意:這個參數StartJavaPollers=5  必定要小於settings.sh裏面的START_POLLERS=5 這個,不然你的jmx一直是灰色的(之前作的時候沒有注意這個,今天在作浪費了我一天的時間!)




重啓zabbix_server
service zabbix_server restart


3 啓動zabbix_java_Gateway   //zabbix_java_Gateway偵聽10052端口
sh /usr/local/zabbix/sbin/zabbix_java/startup.sh


[root@test1 etc]# netstat -antlp|grep 10052
vim

tcp        0      0 :::10052                    :::*                        LISTEN      27929/java  tomcat


zabbix客戶端(tomcat)配置bash

首先安裝tomcat 而且啓動成功啓動腳本在/bin/start.shssh

下載 這個軟件 wget http://archive.apache.org/dist/t ... lina-jmx-remote.jar  //下載tomcat對應的jmx版本放到$tomcat/lib/jvm

vim /usr/local/tomcat/bin/catalina.sh

更改兩個配置文件

在/bin/bash下面添加這行

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=客戶端IP(tomcat的ip)"



在該文件末尾添加一行:以下

vim /usr/local/tomcat/conf/server.xml
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"  rmiRegistryPortPlatform="8090" rmiServerPortPlatform="8090"/> ##(這個端口能夠自定義,默認zabbix監聽的端口是12345)
      </Host>
    </Engine>
  </Service>
</Server>



其中的8090就是zabbix server端監控tomcat須要使用的端口。而後

重啓tomcat和zabbix_agentd   tomcat 啓動和關閉能夠在/bin目錄下找到,start.sh 和shutdown.sh開啓和關閉

啓動完成以後經過ps命令和netstat命令查看是否正常的偵聽了相應的端口,zabbix_agentd默認偵聽10050端口,tomcat默認偵聽8080端口,8090端口是開給jmx使用的,應該也是開啓的,效果以下:

[root@test3 tomcat-8.0.26]# netstat -antlp|grep LISTEN       
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      19592/./sbin/zabbix 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      836/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1503/master         
tcp6       0      0 :::8090                 :::*                    LISTEN      21026/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      21026/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      21026/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      21026/java          
tcp6       0      0 :::40438                :::*                    LISTEN      21026/java          
tcp6

服務端操做:

這時候能夠在zabbix_server端嘗試獲取tomcat的相關數據了。這時候須要使用到一個工具cmdline-jmxclient-0.10.3.jar(須要下載,而後放在服務端上面)用下面的這個命令,在zabix-server端執行以下命令:

 java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.234.128:8090 java.lang:type=Memory NonHeapMemoryUsage
12/19/2015 03:17:04 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 25296896
init: 2555904
max: -1
used: 24194184

出現這個表明zabbix 已經獲取到了相應的tomcat數據,剩下的配置在web頁面配置了。


web端操做

倒入模板,添加主機,確認出圖

1 添加主機

wKiom1dFRRrQ5_cbAACdgTGOPCU954.png


確認出圖,其實有不少項,我只列出了一個

wKioL1dFRqaTyOemAAEUgwxYuiM098.png

說明:上傳的附件發現沒法解壓,因此我就上傳到了51cto下載中心  http://down.51cto.com/data/2238034

相關文章
相關標籤/搜索