參考博文:http://blog.51cto.com/jinlong/2051966前端
zabbix proxy 能夠代替 zabbix server 檢索客戶端的數據,而後把數據彙報給 zabbix server,而且在必定程度上分擔了zabbix server 的壓力.zabbix proxy 能夠很是簡便的實現了集中式、分佈式監控。node
Zabbix_proxy只須要一條tcp連接到zabbix_server,只須要配置一個防火牆規則。zabbix_proxy數據庫必須和server分開,不然數據會被破壞。由於這兩個數據庫的表大部分相同。mysql
Zabbix_proxy收集的全部數據在傳輸到服務器以前都存儲在本地。而後再必定時間以後傳遞給zabbix_server。這個時間是由proxy配置文件中參數ProxyLocalBuffer and ProxyOfflineBuffer決定。nginx
Zabbix_proxy是一個數據收集器。它不計算觸發器,處理事件或發送警報。web
備註:使用 agent active 模式,必定要記住在 agent 的配置文件參數 ServerActive 加上 proxy 的 IP 地址。sql
zabbix proxy 使用場景:數據庫
跨機房、跨區域監控vim
簡化 zabbix 的維護bash
減輕zabbix server的壓力服務器
一、安裝zabbix_proxy軟件
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm yum install -y zabbix-proxy zabbix-proxy-mysql mariadb*
systemctl enable mariadb
systemctl start mariadb
二、配置zabbix_proxy庫
[root@web-node3 ~]# mysql MariaDB [(none)]> create database zabbix_proxy character set utf8; MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';
[root@web-node3 ~]# rpm -ql zabbix-proxy-mysql
[root@web-node3 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.7/schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy
#查看建立的庫
MariaDB [(none)]> show databases; #是否有zabbix_proxy庫存在
MariaDB [(none)]> use zabbix_proxy; #進入到改庫
MariaDB [zabbix_proxy]> show tables; #查看數據是否存在
或一條命令檢測
mysql -uzabbix_proxy -pzabbix_proxy -e "use zabbix_proxy;show tables;"
三、修改zabbix_proxy的配置文件
[root@web-node3 ~]# vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=0 #使用主動模式,1爲被動模式,默認爲主動模式,web前端也配置主動模式
Server=10.0.0.200 #填寫zabbix-server的ip地址
DBHost=localhost
Hostname=zabbix-proxy #本機主機名
DBName=zabbix_proxy #數據庫名
DBUser=zabbix_proxy #用戶名
DBPassword=zabbix_proxy #zabbix_proxy數據庫米密碼
Timeout=15
配置文件中沒有配置的內容以下:(有須要能夠配置)
# ProxyLocalBuffer=0
#數據保留的時間(小時爲單位)
# ProxyOfflineBuffer=1
#連不上Server,數據要保留多久(小時爲單位,默認1小時)
# DataSenderFrequency=1
#數據的發送時間間隔(默認是1秒)
# StartPollers=5
#啓動的線程數
# StartIPMIPollers=0
#啓動IPMI的線程數
四、啓動進程
systemctl start zabbix-proxy.service netstat -luntp|grep 10051
五、zabbix-server端配置
第二步:把監控的主機改爲agent代理模式
配置--主機--選擇修改的主機---
注:把修改的這臺主機的zabbix-agent配置文件內的server地址指向zabbix-proxy的IP地址並重啓。
#一個zabbix agent客戶端配置文件以下
[root@server ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.0.0.111 ServerActive=10.0.0.111 Hostname=Zabbix server Include=/etc/zabbix/zabbix_agentd.d/ UserParameter=nginx.status[*],/etc/zabbix/nginx_zbx.sh $1 UserParameter=tcp[*],/etc/zabbix/scripts/tcp_status_ss.sh $1