ЛР 14 - сбор MAC-адресов

Цель лабораторной работы - с помощью автообнаружения контролировать появление ip-адресов в сети и записывать их mac-адреса.

  1. В консоли zabbix-сервера установите утилиту arp, входящую в состав пакета net-tools.
apt install net-tools
  1. Проверим, как она отдает mac-адреса из кэша и попробуем вычленить их из ответа:
arp -a
arp -a 10.20.30.100 
arp -a 10.20.30.100 | grep ether 
arp -a 10.20.30.100 | grep ether | cut -d ' ' -f 4

MAC-адреса появляются в кэше после выполнения команды ping, однако для нас нет необходимости предварительно выполнять ее в рамках автоматической проверки - Zabbix-сервер будет обнаруживать хосты с ее помощью. Соответственно, на момент запроса MAC-адреса из кэша, он уже будет там.

  1. Создадим скрипт /usr/lib/zabbix/externalscripts/getarp.sh, который в качестве аргумента принимает ip-адрес хоста, чей mac мы хотим записать в zabbix.
#!/bin/bash
arp -a $1 | grep ether | cut -d ' ' -f 4
chmod +x  /usr/lib/zabbix/externalscripts/getarp.sh
/usr/lib/zabbix/externalscripts/getarp.sh 10.20.30.1
  1. В интерфейсе Zabbix-сервера перейдите в Configuration - Templates и создайте новый шаблон.

zbx-lab-new-template

  1. Для созданного шаблона добавьте новый элемент данных.

zbx-lab-getarp-item

  1. В интерфейсе Zabbix-сервера перейдите в Configuration - Discovery и создайте\отредактируйте правило.

zbx-lab-icmp-discovery

  1. Прейдите в Configuration - Actions и создайте новое действие для обнаруженных хостов.

zbx-lab-discovery-action zbx-lab-discovery-operation

  1. После обнаружения хостов проверьте наличие MAC-адресов в соответствующем элементе данных.