在正确配置了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
選擇設定的Discovery 進行檢視,
也可以再跟蹤一下zabbix的日志
tail -f /tmp/zabbix_server.log