Подскажите как можно реализовать мониторинг перехода филиалов на резервный канал.
Т.е. сидит филиал на своем основном канале, бед не знает, у него IP 192.168.1.20 (l2vpn от провайдеров по всем филиалам). И тут внезапно упал канал, филиал переходит на резерв (usb 3g модем) и подключает обычный vpn и получает адрес 192.168.10.30 (при подключении через VPN он всегда будет иметь данный адрес). Все вернулось на круги своя, все работает. Но заббикс продолжает считать данный филиал недоступным и не имеющим доступа к нам в сеть, что вполне закономерно, т.к. мониторится доступность по основному IP.
И вот никак не могу придумать как научить заббикс видеть этот переход на резервный канал.
Можно конечно создать на каждый филиал два узла сети, но тогда будет очень много уведомлений о недоступности узлов сети, что весьма неудобно.
В результате пока не придумал ничего красивее чем добавить по одному узлу для каждого филиала и прописать им IP VPN, и настроить срабатывание триггера на появление связи с филиалом по этому IP. Хотя решение кажется мне «не красивым»
Zabbix с версии 2.0 поддерживает назначение нескольких интерфейсов для одного хоста. Правда я не уверен, что оно вам сильно поможет. Вам надо перейти от проверки канала к активным проверкам агента через тот же agent.ping.
Да, несколько интерфейсов назначить можно, только я не понял как это функционирует. Т.е. заббикс что то не хочет подцеплять хост по второму интерфейсу. Про активные проверки агента посмотрю, как это мне поможет. Но что то сразу не уловил вашу мысль.
То есть отказаться от проверки канала как таковой, и пускай агент на той стороне сам рапортует серверу, что всё хорошо. Перестал рапортовать — алярма. На языке заббика: добавляет новый айтем agent.ping с типом Zabbix agent (active), и на него вешаем триггер {hostname:agent.ping.nodata(5m)}=1. Ну, и не забыть прописать ServerActive в конфиге агента.
используйте UserParameter. например так UserParameter=link.down[*],(ip link | grep $1 | grep DOWN > /dev/null) && echo 1 || echo 0где $1 — имя сетевого интерефейса
Как вариант могу предложить поднять vpn туннель между заббиксом и сервером, тогда сервер всегда будет доступен по приватному адресу.
У меня имеется большая географически разрозненная сеть vpnов, ходящих на один сервер. Так вот заббикс свой для мониторинга удаленных хостов я запустил именно так. Тогда становится не важно каким образом добираются до vpn-сервера все клиенты, потому что они всегда доступны внутри туннелей.
Я бы попробовал следить не за текущими IP-адресами, а за логами VPN-сервера.
Начальству имхо важен не мониторинг отказов в реальном времени, а итоговый отчет за некоторый период.
Логи позволят понять и количество отказов, и их продолжительность.
Начальству вообще пофигу :) Им главное чтоб все работало, мониторинг в реальном времени нужен как раз таки мне. А вот логи VPN парсить можно, отличная идея.