在正确配置了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
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISO5YjNzcDN0ETNwkDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
选择设置的Discovery 进行查看,
也可以再跟踪一下zabbix的日志
tail -f /tmp/zabbix_server.log