zabbix分散式監控部署--技術流ken
前言
zabbix proxy可以代替zabbix server檢索客戶端的資料,然後把資料彙報給zabbix server,並且在一定程度上分擔了zabbix server的壓力.zabbix proxy可以非常簡便的實現了集中式、分散式監控.
zabbix proxy使用場景:
- 監控遠端區域裝置
- 監控本地網路不穩定區域
- 當zabbix監控上千裝置時,使用它來減輕server的壓力
- 簡化zabbix的維護
zabbix proxy僅僅需要一條tcp連線到zabbix server,所以防火牆上僅僅需要加上一條規則即可.zabbix proxy資料庫必須和server分開,否則資料會被破壞,畢竟這兩個資料庫的表大部分都相同。總之記住,資料庫分開即可。
proxy收集到資料之後,首先將資料快取在本地,然後在一定得時間之後傳遞給zabbix server.這個時間由proxy配置檔案中引數ProxyLocalBuffer and ProxyOfflineBuffer決定.
備註:使用agent active模式,一定要記住在agent的配置檔案引數ServerActive加上proxy的IP地址.切記
zabbix分散式監控部署演示
zabbix伺服器端:10.220.5.13
zabbix代理伺服器端:10.220.5.138
zabbix被監控節點:10.220.5.139
配置代理伺服器端
第一步:下載zabbix-proxy軟體
[[email protected] ~]# yum install zabbix-proxy-mysql -y
第二步:匯入檔案到資料庫
[[email protected] ~]# rpm -ql zabbix-proxy-mysql /usr/share/doc/zabbix-proxy-mysql-3.0.24/schema.sql.gz [[email protected] ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.0.24/schema.sql.gz ./ [[email protected] ~]# gunzip schema.sql.gz
第三步:登入資料庫
[[email protected] ~]# mysql -uroot -p123 MariaDB [(none)]> create database zabbix; MariaDB [(none)]> use zabbix; MariaDB [zabbix]> source /root/schema.sql MariaDB [zabbix]> grant all on *.* to [email protected] identified by '123';
第四步:修改配置檔案
[[email protected] ~]# grep -v -E '^#|^$' /etc/zabbix/zabbix_proxy.conf ProxyMode=0 #開啟主動模式 Server=10.220.5.13 #指向主監控伺服器端 HostnameItem=system.hostname #主機名自動獲取 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid DBName=zabbix #代理節點自己的資料庫 DBUser=zabbix DBPassword=123 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
第五步:重啟
[[email protected] ~]# systemctl restart zabbix-proxy
配置被監控客戶端
第一步:下載客戶端
[[email protected] ~]# yum install zabbix-agent -y
第二步:配置客戶端檔案
客戶端不需要開啟serveractive,否則會一直嘗試給監控的主機點發資訊。
[[email protected] ~]# grep -v -E '^#|^$' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.220.5.138 #指向代理伺服器端 HostnameItem=system.hostname #主機名自動獲取 Include=/etc/zabbix/zabbix_agentd.d/
第三步:不要重啟
配置完zabbix-proxy之後不要重啟!!
等配置完zabbix網頁後再重啟!!
配置zabbix的網頁端
第一步:新增主機
新增被監控節點的主機
點選建立主機
主機名稱可以隨便填寫
這裡填寫的是被監控節點的IP地址
這裡的選擇無代理程式,現在也只有這個選項
待會建立一個代理之後他會自動補上去
第二步:建立代理
點選建立代理
注意:
1.代理程式名稱代理伺服器的主機名,不需要在主機上面解析,但是一定確保是代理伺服器的主機名
現在代理伺服器端10.220.5.138的主機名為proxy,所以下面的代理程式名稱就是proxy
2.選擇主動式
3.加入你想要代理的被監控節點。前提是這個被監控節點的server指向了代理伺服器節點
第三步:重啟zabbix-proxy
代理伺服器端一定要在網頁端配置完成之後才能重啟!
[[email protected] ~]# systemctl restart zabbix-proxy
第四步:檢視
可以發現原本server指向10.220.5.138代理伺服器端的被監控節點,現在也能被10.220.5.13監控了
名稱也變成 代理伺服器名稱:主機名