Ad Widget

Collapse

Присоединение информации от скрипта к Хосту

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Ashe_Leclair
    Junior Member
    • Feb 2024
    • 1

    #1

    Присоединение информации от скрипта к Хосту

    Добрый день! Может кто помочь с проблемой? Нашел в инете скрипт для скана сети на новые подключения через 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
  • Alex_UUU
    Senior Member
    • Dec 2018
    • 541

    #2
    "Ничего не понимаю" (с)
    Чего есть в наличии и чего надо?
    Грамотно и понятно заданный вопрос приводит в 80% полезному ответу.

    ЗЫ. Никого не интересует нутро, индересует вывод и что необходимо сделать в итоге.

    Comment

    • Hamardaban
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • May 2019
      • 2713

      #3
      При беглом осмотре логика работы такая: скрипт сканирует сеть и из полученных данных делает «массивы» и посылает их на сервер заббикс используя сендер.
      На сервере их принимает узел сети (на который настройки в конфиге заббикс агента) в котором есть элементы данных типа траппер и ключами arp.discovery, arp.macIps , ipMacs и т.д. Скорее всего есть только дискавери которое должно отработать и создать остальный элементы …
      при первом запуске создадутся елементы из прототипов при последующих в них пойдут данные. Кстати скрипт должен при первых запусках генерить тонну ошибок от сендера…
      Как привязать - да никак! Вернее с использование костылей и api.
      Есть стандартные забиковские механизмы сетевого обнаружения - почитайте про них - может будет достаточно?

      Comment

      Working...