天天看點

zabbix 自動發現Discovery無法擷取主機

在正确配置了zabbix的 Discovery和Actions後,等待一段時間,發現zabbix并沒有和預想中的一樣擷取到主機資訊。

檢查zabbix的日志檔案

tail -n 100 /tmp/zabbix_server.log ##倒序檢視日志檔案
           

發現有 報錯

8178:20170905:122117.849  /usr/sbin/fping: [2] No such file or directory
           

原因是zabbix 3之後把ping更換為fping了,是以需要安裝fping

wget http://www.fping.org/dist/fping-3.16.tar.gz
tar -zxvf fping-3.16.tar.gz
cd fping-3.16
./configure --prefix=/usr/local/fping
make && make install
           

zabbix-server的預設設定fping的路徑為 /usr/sbin/fping 

修改zabbix的配置檔案

設定 FpingLocation=/usr/local/fping/sbin/fping 可以手動修改:

vim /usr/local/zabbix/etc/zabbix_server.conf
           

也可以使用指令直接替換:

sed -i 's|# FpingLocation=/usr/sbin/fping|FpingLocation=/usr/local/fping/sbin/fping|g' /usr/local/zabbix/etc/zabbix_server.conf
           

###########或者不做上述修改,直接設定一個軟連結 

ln -s /usr/local/fping/sbin/fping  /usr/sbin/fping
           

由于fping必須由root使用者執行,如果非root賬号執行fping,檢視zabbix_server日志會有如下報警資訊:

8178:20170905:131423.340 fping failed: /usr/local/fping/sbin/fping: can't create socket (must run as root?) : Permission denied

但是zabbix_server是使用zabbix賬号運作,是以為fping設定SUID權限:

chown root.root /usr/local/fping/sbin/fping
chmod u+s /usr/local/fping/sbin/fping
           

設定完成之後

Monitoring--> Discovery--> Discovery rule 

zabbix 自動發現Discovery無法擷取主機

選擇設定的Discovery 進行檢視,

也可以再跟蹤一下zabbix的日志

tail -f /tmp/zabbix_server.log