【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰

說在最前:
在作此次實戰測試之中,在網上查了許多資料,看了很多篇文章,絕大多數都是 zabbix 對單機多 tomcat 的監控,少有 zabbix 對多臺客戶端上的 tomcat 分別進行監控,並且寫的還很是籠統,所以,我想寫這篇文章,和你們分享一下實踐心得。java

zabbix-server 和 zabbix-agent 安裝方法在這裏略過,能夠參考 此前個人博客 的後半部分。

配置流程:

在安裝 tomcat 的主機上執行如下操做:
一、安裝zabbix_java_gateway
二、配置zabbix_java_gateway配置文件和zabbix_server配置文件,指定監聽端口,啓動進程數
三、編輯Tomcat配置文件,開啓JMX
四、添加host,指定JMX interface
五、連接TOMCAT模板
linux


實際操做:

一、在 tomcat 所在的機器上安裝 zabbix-java-gatewayweb

[root@ape-test2-1124 ~]# yum install -y zabbix-java-gateway

二、編輯 zabbixjavagateway.conf vim

[root@ape-test2-1124 ~]# vim /etc/zabbix/zabbix_java_gateway.conf 
LISTEN_PORT=10052       //不打開也是默認 10052 端口
START_POLLERS=5     //進程數

以上步驟也須要在其餘機器上操做
三、編輯服務端上的 /etc/zabbix/zabbixserver.conftomcat

[root@iZm5ehq0spxwe0fe6nay7fZ ~]# vim /etc/zabbix/zabbix_server.conf 
JavaGateway=192.168.100.124,192.168.100.125,192.168.100.126,192.168.100.127,192.168.100.128,192.168.100.129,192.168.100.130,192.168.100.131     //JavaGateway 所安裝的全部主機 ip
JavaGatewayPort=10052       //java 的 port
StartJavaPollers=5

參數不要寫錯,否則 zabbix-server 沒法啓動

四、啓動 zabbix-java-gateway,加入開機啓動
tcp

[root@ape-test2-1124 ~]# systemctl start zabbix-java-gateway    //其餘客戶端也是一樣操做
[root@ape-test2-1124 ~]# systemctl enable zabbix-java-gateway
[root@ape-test2-1124 ~]# netstat -lntp|grep 10052
tcp        0      0 0.0.0.0:10052           0.0.0.0:*               LISTEN      4120/java


五、服務端重啓zabbix-server
ide

[root@iZm5ehq0spxwe0fe6nay7fZ ]# systemctl restart zabbix-server
[root@iZm5ehq0spxwe0fe6nay7fZ ~]# ps aux|grep zabbix_server
[root@iZm5ehq0spxwe0fe6nay7fZ ~]# netstat -lntp|grep 1005
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      22288/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      4290/zabbix_server  
tcp        0      0 0.0.0.0:10052           0.0.0.0:*               LISTEN      17300/java          
tcp6       0      0 :::10050                :::*                    LISTEN      22288/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      4290/zabbix_server


六、開啓 JMX

1)編輯配置文件 /usr/local/tomcat/bin/catalina.sh
在 #!/bin/sh 下增長一段測試

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.100.124   //tomcat 所在客戶端 ip
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

2)重啓 tomcat3d

[root@ape-test2-1124 ]# /usr/local/tomcat/bin/shutdown.sh 
[root@ape-test2-1124 ]# /usr/local/tomcat/bin/startup.sh

3)查看 9999 端口是否啓動代理

[root@ape-test2-1124 ]# netstat -lntp |grep 9999
tcp6       0      0 :::9999                 :::                    LISTEN      8328/java*

其餘客戶端上也一樣操做


★★★惟一不一樣的是 -Dcom.sun.management.jmxremote.port= 的端口號不能同樣!!!

192.168.100.125上的 /usr/local/tomcat/bin/catalina.sh 裏添加的參數就應該是

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.100.125 
-Dcom.sun.management.jmxremote.port=9998
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

同理,編輯全部tomcat所在機器上的 /usr/local/tomcat/bin/catalina.sh,添加以上參數,並根據實際狀況修改hostname 和 port,保存配置,重啓 tomcat

七、在 zabbix 的 web 端添加新主機

1)建立新主機,配置——主機——建立主機
2)更改主機配置:主機名稱——羣組——移除agent代理程序接口——添加JMX接口——192.168.100.124,端口 9999

【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰

3)連接模板:模板——選擇Template App Apache Tomcat JMX和 Template App Generic Java JMX——添加——添加

【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰

4)監測——最新數據——主機切換爲arslinux-01tomcat

稍等片刻,能夠觀察到已經出數據了
【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰

5)JMX 已通,成功

【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰

6)克隆機器:主機——tomcat124——全克隆
【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰

七、修改參數:名稱、羣組、ip、端口(注意端口號不能和其餘重複)
【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰

八、一樣的方法,建立其餘主機,稍等一下子就能夠了

【錯誤彙總】利用JMX,在 zabbix 上監控多 agent 端的 tomcat 實戰
成功!!!
總結:實際操做流程和正常的利用 JMX 在 zabbix 上監控 tomcat 無異,重點區別在於 catalina.sh 中配置參數的 port 在不一樣的機器上須要區分開。

相關文章
相關標籤/搜索