zabbix proxy 可以代替 zabbix server 檢索客戶端的數據,然后把數據匯報給 zabbix server,並且在一定程度上分擔了zabbix server 的壓力.zabbix proxy 可以非常簡便的實現了集中式、分布式監控。

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

 

Zabbix_proxy只需要一條tcp鏈接到zabbix_server,只需要配置一個防火牆規則。zabbix_proxy數據庫必須和server分開,否則數據會被破壞。因為這兩個數據庫的表大部分相同。

Zabbix_proxy收集的所有數據在傳輸到服務器之前都存儲在本地。然后再一定時間之后傳遞給zabbix_server。這個時間是由proxy配置文件中參數ProxyLocalBuffer and ProxyOfflineBuffer決定。

Zabbix_proxy是一個數據收集器。它不計算觸發器,處理事件或發送警報。

備注:使用 agent active 模式,一定要記住在 agent 的配置文件參數 ServerActive 加上 proxy 的 IP 地址。

  • 2、分布式部署

(1)安裝zabbix-proxy-mysql和mariadb
[root@linux-node3 ~]# yum list|grep zabbix-proxy-mysql
[root@linux-node3 ~]# yum install -y zabbix-proxy-mysql
[root@linux-node3 ~]# yum install -y mariadb
[root@linux-node3 ~]# systemctl enable mariadb.service
[root@linux-node3 ~]# systemctl start mariadb.service
 
2)創建zabbix_proxy庫
[root@linux-node3 ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11579
Server version: 5.5.56-MariaDB MariaDB Server
 
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
MariaDB [(none)]> create database zabbix_proxy CHARATER set utf8 COLLATE utf8_bin;
 
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
 
MariaDB [(none)]> exit;
Bye
 
3)導入數據庫
[root@linux-node3 ~]# rpm -ql zabbix-proxy-mysql
[root@linux-node3 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.0.8/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy
[root@linux-node3 ~]# mysql -uzabbix -pzabbix -e "use zabbix_proxy;show tables;" (4)修改zabbix_proxy配置文件
[root@linux-node3 ~]# vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=0    #使用主動模式,1為被動模式,默認為主動模式,web前端也配置主動模式
Server=192.168.56.11    #填寫zabbix-server的ip地址
ServerPort=10051        #zabbix的端口
HostnameItem=system.hostname
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
Timeout=15
 
配置文件中沒有配置的內容如下:(有需要可以配置)
# ProxyLocalBuffer=0
#數據保留的時間(小時為單位)
# ProxyOfflineBuffer=1
#連不上Server,數據要保留多久(小時為單位,默認1小時)
# DataSenderFrequency=1
#數據的發送時間間隔(默認是1秒)
# StartPollers=5
#啟動的線程數
# StartIPMIPollers=0
#啟動IPMI的線程數
 
5)啟動服務並檢查端口
[root@linux-node3 ~]# systemctl start zabbix-proxy.service
[root@linux-node3 ~]# netstat -tulnp |grep 10051 (6)創建proxy "Administration"-->"Proxies"-->"Create proxy"

(7)修改agent的配置
[root@linux-node2 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DebugLevel=5
Server=192.168.56.13        #指向zabbix_proxy    
ServerActive=192.168.56.13    #指向zabbix_proxy 
HostnameItem=system.hostname
HostMetadata=web
Timeout=15
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@linux-node2 ~]# systemctl restart zabbix-agent.service

  • 3、交換機監控

創建HOST,交換機監控

使用SNMP協議,思科默認端口為161。

添加zabbix的SNMP模板:

設置團體名:

{$SNMP_COMMUNITY}=團體名稱