Zabbix自動探索之fping,Zabbix之fping
原文發表於cu:2016-06-21
Zabbix自動探索功能從配置流程上比較簡單:Discovery與Action。
在做Zabbix的自動探索驗證時,使用"ICMP ping"的check方式時,自動探索功能並不生效。
一.環境 1. zabbix環境
Zabbix:zabbix-3.0.1server/agent
2. 配置環境Discovery
發現本網172.19.200.1-254,Check:ICMP ping,如下:
Action
ICMP ping方式下,UP狀態的主機添加到"Discovery hosts"組,如下:
二.自動探索失效 1. 現象
在自動探索的discovery與action流程配置正確的前提下,等待10分鐘觀察,自動探索功能並不生效。
2. 定位故障
#發現有"找不到/usr/sbin/fping檔案"的資訊記錄。[root@localhost ~]# vim /tmp/zabbix_server.log1412:20160621:110040.593 /usr/sbin/fping: [2] No such file or directory
3. 故障分析
"ICMP ping"的check方式,使用/usr/sbin/fping命令檢測狀態,如果系統沒有安裝或fping命令執行路徑有誤,則check方式不能發現裝置,自動探索功能失效。
三.安裝配置fping 1. 安裝fping
#fping相對ping,可以同時ping多個目標並且有多種統計輸出格式;#fping目前只能通過編譯的方式安裝[root@localhost ~]# cd /usr/local/src[root@localhost src]# wget http://www.fping.org/dist/fping-3.13.tar.gz[root@localhost src]# tar -zxvf fping-3.13.tar.gz[root@localhost src]# cd fping-3.13[root@localhost fping-3.13]# ./configure[root@localhost fping-3.13]# make && make install
2. 配置fping執行路徑
#zabbix_server設定檔中預設fping的執行路徑被注釋掉了,此時預設路徑就為:/usr/sbin/fping#可以配置fping的執行路徑,如下:[root@localhost ~]# sed -i 's|# FpingLocation=/usr/sbin/fping|FpingLocation=/usr/local/sbin/fping|g' /usr/local/zabbix/etc/zabbix_server.conf#或者不修改 zabbix_server.conf檔案,使用軟串連ln -s /usr/local/sbin/fping /usr/sbin/fping
3. 配置fping許可權
#fping必須由root使用者執行,如果非root帳號執行fping,查看zabbix_server日誌會有如下警示資訊:#21822:20160621:151232.024 fping failed: (null): can't create socket (must run as root?) : Permission denied#如果是root帳號安裝的fping,可以不用修改owner;#但zabbix_server是使用zabbix帳號調用命令的,可以為fping設定SUID許可權,如下:[root@localhost ~]# chown root:root /usr/local/sbin/fping[root@localhost ~]# chmod u+s /usr/local/sbin/fping
四.驗證 1. 驗證Discovery
Monitoring--> Discovery--> Discovery rule,選擇"Local network"(建立discovery時的name),如下:
2. 驗證Action
Configuration--> Hosts--> Group,選擇"Discovery hosts"組,如下: