1. 程式人生 > >zabbix分散式監控部署--技術流ken

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監控了

名稱也變成    代理伺服器名稱:主機名