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 添加主機
確認出圖,其實有不少項,我只列出了一個
說明:上傳的附件發現沒法解壓,因此我就上傳到了51cto下載中心 http://down.51cto.com/data/2238034