Добрый день! Может кто помочь с проблемой? Нашел в инете скрипт для скана сети на новые подключения через ARP для Zabbix. Все работает, но не понимаю как привязать все получаемые айпишники и маки к имеющимся хостам. Пытался через шаблон, не реагирует. Может у кого подсказки будут? Прикладываю скрипт:
interfaces="ens160"
zabbix_conf="/etc/zabbix/zabbix_agentd.conf"
arp_scan="/usr/sbin/arp-scan"
sender="/usr/bin/zabbix_sender"
fullData=`for iface in $interfaces
do
$arp_scan --localnet --interface=$iface -q -x | sort | uniq
done`
IFS=$'\n'
first=1
lld="{ "data":["
for entry in $fullData
do
if [[ first -eq 0 ]]
then
lld="${lld},"
else
first=0
fi
ipAddress=`echo $entry | awk '{print $1}'`
HWAddress=`echo $entry | awk '{print $2}'`
lld="${lld}{"
lld="${lld}"ipAddress":"${ipAddress}","
lld="${lld}"HWAddress":"${HWAddress}""
lld="${lld}}"
done
lld="${lld}]}"
$sender -c $zabbix_conf -k arp.discovery -o $lld
for mac in `echo "$fullData" | awk '{print $2}'| sort | uniq`
do
ips=`echo "$fullData" | grep "$mac" | awk '{print $1}' | tr '\n' ' '`
$sender -c $zabbix_conf -k arp.macIps[$mac] -o $ips
done
for ip in `echo "$fullData" | awk '{print $1}'| sort | uniq`
do
macs=`echo "$fullData" | grep -P "^${ip}\t" | awk '{print $2}' | tr '\n' ' '`
$sender -c $zabbix_conf -k arp.ipMacs[$ip] -o $macs
done
for line in $fullData
do
mac=`echo "$line" | awk {'print $2'}`
nIp=`echo "$fullData" | grep "${mac}" | wc -l`
$sender -c $zabbix_conf -k arp.ipCount[$mac] -o $nIp
done
for line in $fullData
do
ip=`echo "$line" | awk {'print $1'}`
nMac=`echo "$fullData" | grep -P "^${ip}\t" | wc -l`
$sender -c $zabbix_conf -k arp.macCount[$ip] -o $nMac
done
interfaces="ens160"
zabbix_conf="/etc/zabbix/zabbix_agentd.conf"
arp_scan="/usr/sbin/arp-scan"
sender="/usr/bin/zabbix_sender"
fullData=`for iface in $interfaces
do
$arp_scan --localnet --interface=$iface -q -x | sort | uniq
done`
IFS=$'\n'
first=1
lld="{ "data":["
for entry in $fullData
do
if [[ first -eq 0 ]]
then
lld="${lld},"
else
first=0
fi
ipAddress=`echo $entry | awk '{print $1}'`
HWAddress=`echo $entry | awk '{print $2}'`
lld="${lld}{"
lld="${lld}"ipAddress":"${ipAddress}","
lld="${lld}"HWAddress":"${HWAddress}""
lld="${lld}}"
done
lld="${lld}]}"
$sender -c $zabbix_conf -k arp.discovery -o $lld
for mac in `echo "$fullData" | awk '{print $2}'| sort | uniq`
do
ips=`echo "$fullData" | grep "$mac" | awk '{print $1}' | tr '\n' ' '`
$sender -c $zabbix_conf -k arp.macIps[$mac] -o $ips
done
for ip in `echo "$fullData" | awk '{print $1}'| sort | uniq`
do
macs=`echo "$fullData" | grep -P "^${ip}\t" | awk '{print $2}' | tr '\n' ' '`
$sender -c $zabbix_conf -k arp.ipMacs[$ip] -o $macs
done
for line in $fullData
do
mac=`echo "$line" | awk {'print $2'}`
nIp=`echo "$fullData" | grep "${mac}" | wc -l`
$sender -c $zabbix_conf -k arp.ipCount[$mac] -o $nIp
done
for line in $fullData
do
ip=`echo "$line" | awk {'print $1'}`
nMac=`echo "$fullData" | grep -P "^${ip}\t" | wc -l`
$sender -c $zabbix_conf -k arp.macCount[$ip] -o $nMac
done
Comment