Zabbix分佈式監控(七)——Zabbix proxy 分佈式監控部署

一、Zabbix proxy分佈式監控

Zabbix proxy是在大規模分佈式監控 場景中,採用的一種用以分擔server端壓力的分層結構,Proxy只負責一定區域內的數據採集工作,可以代替zabbix server檢索客戶端的數據,然後定期將數據一次性發送給server,極大的減輕了server的負載壓力,使得可以支持更大規模的監控需求,非常簡便的實現了集中式、分佈式監控。

zabbix proxy 使用場景:

  • 監控遠程區域設備
  • 監控本地網絡不穩定區域
  • 當 zabbix 監控上千設備時,使用它來減輕 server 的壓力
  • 簡化 zabbix 的維護

環境說明(企業中):

zabbix-server 處於外網,zabbix-agent 處於各個地方的內網,所有內網都是互通的。其中有一臺內網服務器既可以和內網通信,也可以和外網進行通信。

通過zabbix proxy的搭建,zabbix server可以遠程從proxy獲取到數據,這裏的環境相當於zabbix server具有一個公網ip地址,zabbix agent只具有內網地址,zabbix proxy具有外網地址和內網地址,搭建zabbix proxy使zabbix server能通過proxy遠程獲取到zabbix agent的數據.

在這裏插入圖片描述
注意事項:

  • zabbix proxy 僅僅需要一條 tcp 連接到 zabbix server,所以防火牆上僅僅需要加上一條規則即可
  • zabbix proxy 數據庫必須和 server 分開,否則數據會被破壞
  • proxy 收集到數據之後,首先將數據緩存在本地,然後在一定的時間之後傳遞給 zabbixserver,這樣就不會因爲服務器的任何臨時通信問題而丟失數據。這個時間由 proxy配置文件中參數 ProxyLocalBuffer 和 ProxyOfflineBuffer 決定

Zabbix server數據庫直接更新,最新配置的proxy可能會比Zabbix server新,而Zabbix server的配置由於 CacheUpdateFrequency 的原因而無法快速更新。因此,proxy收集發送Zabbix server數據可能會被忽略

zabbix proxy 是一個數據收集器,它不計算觸發器、不處理事件、不發送報警

二、Zabbix proxy 分佈式監控的部署

主機 服務
server1 zabbix-server,zabbix-agent
server2 zabbix-agent
proxy zabbix-proxy

實驗步驟如下所示:

1、爲了實驗環境的純淨,我們做以下操作:
在這裏插入圖片描述
在這裏插入圖片描述

2、安裝proxy,mariadb並配置mariab

[root@proxy ~]# yum install -y zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm  fping-2.4b2-16.el6.x86_64.rpm 
[root@proxy ~]# yum install -y mariadb-server.x86_64 

在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

2、啓動數據庫並配置

[root@proxy ~]#systemctl start mariadb.service 
[root@proxy ~]#systemctl enable mariadb.service 
[root@proxy ~]#systemctl status mariadb.service
[root@proxy ~]#mysql_secure_installation 

在這裏插入圖片描述
在這裏插入圖片描述

3、對數據庫進行配置

[root@proxy ~]# mysql -uroot -predhat
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'redhat';
MariaDB [(none)]> show databases;

在這裏插入圖片描述

4、導入數據庫

[root@proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql.gz | mysql -uzabbix -p zabbix-proxy    #這裏的密碼是zabbix_proxy用戶的密碼

[root@proxy ~]# mysql -uroot -p
MariaDB [(none)]> use zabbix_proxy;
MariaDB [zabbix_proxy]> show tables;

在這裏插入圖片描述
5、在瀏覽器設置agent代理

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

6、編輯配置文件,開啓服務

[root@proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 
30 Server=172.25.6.1 
 39 ServerPort=10051
 49 Hostname=proxy
173 DBName=zabbix_proxy
188 DBUser=zabbix
196 DBPassword=redhat
[root@proxy ~]# systemctl start zabbix-proxy
[root@proxy ~]# systemctl enable zabbix-proxy
[root@proxy ~]# cat /var/log/zabbix/zabbix_proxy.log  #可以接受到data來自172.25.2.1

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

7、server1查看日誌

在這裏插入圖片描述
在這裏插入圖片描述
web界面,查看代理服務:

在這裏插入圖片描述

8、給server2設置代理,在瀏覽器設置:

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.2.3
ServerActive=172.25.2.3
[root@server2 ~]# systemctl restart zabbix-agent.service 
[root@server2 ~]# cat /var/log/zabbix/zabbix_agentd.log   

在這裏插入圖片描述
在這裏插入圖片描述

proxy


[root@proxy mnt]# cat /var/log/zabbix/zabbix_proxy.log  能夠檢測到server2 

在這裏插入圖片描述

在這裏插入圖片描述

9、在瀏覽器刷新之後發現JMX沒啓用,這是因爲我們的代理配置文件的沒有設置這個監控,proy設置監控java模塊

[root@proxy mnt]# vim /etc/zabbix/zabbix_proxy.conf 
329 JavaGateway=172.25.27.1
337 JavaGatewayPort=10052
345 StartJavaPollers=5
[root@proxy mnt]# systemctl restart zabbix-proxy.service 

在這裏插入圖片描述

在這裏插入圖片描述

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