Мониторинг статуса vlan по конкретному MAC в Nagios?
Здравствуйте, у меня на мониторинге в Nagios стоит клиентский vlan по MAC адресу. Проблема в том, что клиент включен последней милей наших партнеров, и кроме клиентского MAC адреса приходят маки партнерского оборудования. Следовательно когда клиент пропадает, линк все равно в статусе ОК из за партнерских маков. Ловлю маки из D'link DGS-3120-24SC. Можно ли мониторить vlan по конкретному MAC в Nagios?
Я ни хрена не понял, :) но подпишусь, т.к. интересно, как поняли другие. Прежде всего, что такое "статус vlan"? Статус может быть у порта, у сетевого интерфейса, а порт может принадлежать какому-то VLAN.
Статус VLAN - это примерно как статус физического кабеля, да? :) Ну у кабеля основной статус - это "кабель существует", аналогично и с VLAN - "VLAN прописан".
@lozhka_degtja
линк не зависит от наличия мака. Линк и мак на разных уровнях.
Что касается мониторинга маков, можно написать запускаемый по cron скрипт, который будет снимать список маков на порту и проверять наличие каких-то ещё кроме маков партнёрского оборудования. Результат вливать в nagios.
hint000, если вкратце, мне нужно чтоб Nagios смотрел за одним конкретным MAC адресом, таким образом если мак есть значит у клиента есть линк, если мака нету значит линка нет.
lozhka_degtja, почему не устраивает вариант пинговать клиента через заданный интервал времени (типовой метод в Nagios)?
Зачем эти сложности с MAC-адресами?
hint000, нет возможности повесить IP на vlan, предоставляем услугу канала L2 без доступа к клиентскому оборудованию. В Nagios есть команда check_snmp-dlink-switch-mac, но она показывает все маки влана на порту, а мне нужен один конкретный. Может можно по аналогу поправить этот скрипт:
#!/bin/sh
if [ -z "$1" -o -z "$2" -o -z "$3" -o -z "$4" ]; then
echo "Usage params: \$1 = host, \$2 - community, \$3 = port number, \$4 = VLAN Number, \$5 = MAC"
cod=3
exit $cod
fi
# $1 = host, $2 - community, $3 = port number, $4 = VLAN Number
mac_count=`/usr/local/bin/snmpwalk -v1 -c $2 $1 1.3.6.1.2.1.17.7.1.2.2.1.2.$4|/usr/bin/grep -c " INTEGER: $3"'$'`
if [ "$mac_count" -ge "1" ]; then
/bin/echo "$mac_count MAC addresses found!"
cod=0
elif [ "$mac_count" -eq "0" ]; then
/bin/echo "No MAC addresses found!"
cod=2
else
/bin/echo "Unknown error!"
cod=3
fi
exit $cod