zabbix proxy代理概述
zabbix proxy 可以代替 zabbix server 收集性能和可用性數據,然後把數據彙報給 zabbix server,並且在一定程度上分擔了zabbix server 的壓力.
此外,當所有agents和proxies報告給一個Zabbix server並且所有數據都集中收集時,使用proxy是實現集中式和分佈式監控的最簡單方法。
zabbix proxy 使用場景:
-
監控遠程區域設備
-
監控本地網絡不穩定區域
-
當 zabbix 監控上千設備時,使用它來減輕 server 的壓力
-
簡化分佈式監控的維護
分佈式監控
zabbix proxy 可以代替 zabbix server 收集性能和可用性數據,然後把數據彙報給 zabbix server,並且在一定程度上分擔了zabbix server 的壓力,此外,當所有agents和proxies報告給一個Zabbix server並且所有數據都
集中收集時,使用proxy是實現集中式和分佈式監控的最簡單方法。
應用場景
監控遠程區域設備
監控本地網絡不穩定區域
當 zabbix 監控上千設備時,使用它來減輕 server 的壓力
簡化分佈式監控的維護
注意:zabbix_proxy的數據庫必須與zabbix_server的數據庫分開。不過可以同時在server端創建zabbix數據庫與zabbix_proxy數據庫,記得授權即可。
實戰部署
實驗環境:
監控端:192.168.179.102
代理端:192.168.179.103
被監控端:192.168.179.104
代理端:192.168.179.103 zbbix proxy安裝與配置
這裏使用yum安裝,在192.168.179.103執行下列命令
安裝proxy和連接mysql數據庫的組件
[root@localhost ~]# yum install zabbix40-proxy.noarch zabbix40-proxy-mysql.x86_64 zabbix40-dbfiles-mysql.noarch -y
因爲zabbix proxy是會收集agent的數據,所以也需要數據庫
[root@localhost ~]# yum install mariadb mariadb-server mariadb-devel -y
[root@localhost ~]# systemctl start mariadb
創建數據庫,導入表結構,對於Zabbix proxy 數據庫, 只需要導入 schema.sql (不需要 images.sql 和 data.sql)
MariaDB [(none)]> create database zabbix_proxy charset utf8;
MariaDB [(none)]> grant all on zabbix_proxy.* to "zabbix"@localhost identified by "123456";
MariaDB [(none)]> flush privileges;
[root@localhost ~]# mysql -uzabbix -p123456 zabbix_proxy < /usr/share/zabbix-mysql/schema.sql
MariaDB [(none)]> use zabbix_proxy;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix_proxy]> show tables;
+----------------------------+
| Tables_in_zabbix_proxy |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
修改配置文件/etc/zabbix_proxy.conf
[root@localhost ~]# vim /etc/zabbix_proxy.conf
############ GENERAL PARAMETERS #################
### Option: ProxyMode
# Proxy operating mode.
# 0 - proxy in the active mode
# 1 - proxy in the passive mode
#
# Mandatory: no
# Default:
# ProxyMode=0
ProxyMode=0 #0爲主動, 1爲被動
Hostname=proxy-123 #代理服務器名稱,需要與zabbix server添加代理時候的proxy name是一致的!
Server=192.168.179.102 #zabbix server服務器的地址或主機名
DBHost=localhost #數據庫服務器地址
DBUser=zabbix
HeartbeatFrequency=60 #心跳間隔檢測時間,默認60秒,範圍0-3600秒, 被動模式不使用
ConfigFrequency=60 #間隔多久從zabbix server 獲取監控信息
DataSenderFrequency=3 #數據發送時間間隔,默認爲1秒,範圍爲1-3600秒,被動模式不使用
ProxyLocalBuffer=3 #數據同步到server,數據還會保存多久,單位小時
ProxyOfflineBuffer=24 #未提交的數據保存多長時間
[root@localhost ~]# systemctl start zabbix-proxy
被監控端:192.168.179.104 zabbix agent安裝與配置
[root@localhost ~]# yum install zabbix40-agent.x86_64 -y
[root@localhost ~]# vim /etc/zabbix_agentd.conf
Server=192.168.179.103 #這裏填寫proxy的地址,因爲是由proxy來收集數據的
[root@localhost ~]# systemctl start zabbix-agent
接下來就可以在zabbix server的web端設置了 添加代理
這個名字要和配置文件裏面Hostname=proxy-123保持一致,而且默認是主動模式
接下來添加主機,由proxy收集數據
查看proxy是否配置成功
查看代理proxy的日誌
[root@localhost ~]# tail -f /var/log/zabbixsrv/zabbix_proxy.log
1958:20200626:095136.398 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1958:20200626:095137.400 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1958:20200626:095138.411 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1958:20200626:095139.414 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1950:20200626:095230.510 received configuration data from server at "192.168.179.102", datalen 3516
1950:20200626:095330.832 received configuration data from server at "192.168.179.102", datalen 3516
1950:20200626:095431.139 received configuration data from server at "192.168.179.102", datalen 3516
1950:20200626:095531.487 received configuration data from server at "192.168.179.102", datalen 13032
1970:20200626:095533.006 Zabbix agent item "vfs.fs.inode[/,pfree]" on host "192.168.179.104" failed: first network error, wait for 15 seconds
1950:20200626:095631.794 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:095732.090 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:095832.322 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:095932.488 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:100032.786 received configuration data from server at "192.168.179.102", datalen 13032
1985:20200626:100117.090 enabling Zabbix agent checks on host "192.168.179.104": host became available
1950:20200626:100132.967 received configuration data from server at "192.168.179.102", datalen 13032
#proxy代理端獲取被監控端的鍵值
[root@localhost ~]# zabbix_get -s 192.168.179.104 -k system.uname
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64
可以看到數據變綠了,proxy配置成功