Назад | Перейти на главную страницу

Какой плагин nagios рекомендуется использовать для мониторинга маршрутизатора с общедоступным IP-адресом?

у меня есть Linksys WRT54GL маршрутизатор, который работает openwrt. У меня есть основное подключение к Интернету и дополнительное подключение, которое работает как резервное соединение, когда наша основная ссылка выходит из строя. У обоих подключений есть публичные IP-адреса.

Теперь я хочу контролировать оба соединения с помощью nagios, чтобы я мог получать уведомления, когда одно из них выходит из строя. Я также использую pnp4nagios для построения графиков, и я также собираюсь узнать статистику отключений каждого соединения.

Теперь у меня вопрос, какой плагин nagios вы рекомендуете использовать для отслеживания этих подключений. Есть ли такой плагин, идеально подходящий для такого сценария, и как вы это делаете?

Обычный подход NAGIOS к мониторингу состояния канала несколько проще, по крайней мере, в том, что касается его карты состояний и концепции зависимостей хоста: он хочет иметь возможность связываться с устройством немедленно на другом конце канала. Определение «контакта» обычно - это эхо-запрос ICMP (ping), но его можно произвольно настраивать.

Да, вы могли бы вместо этого разработать какой-нибудь тест для openwrt, который сообщает вам, как маршрутизатор видит состояние связи, но: давайте предположим, что такой тест можно написать.

  • Либо он всегда будет давать те же результаты, что и проверка подключения к другому концу ссылки, и в этом случае, зачем вы потрудились делать сложную вещь, когда достаточно простого,
  • или он может иногда давать другой результат теста подключения к другому концу ссылки, и в этом случае я утверждаю, что тест не работает; какая польза от того, что маршрутизатор уверяет вас, что соединение установлено если он не будет нести трафик.

Я очень верю в тестирование того, что вы действительно хотите знать. В этом случае я предполагаю, что вы хотите знать, будут ли ссылки нести трафик; если да, то не делегируйте ответ другому устройству - проверьте сами.

Если это вас не убеждает, взгляните на код openwrt и узнайте, как Это определяет, есть ли связь - и повторяет этот тест от NAGIOS.

Я бы, как ни странно, использовал скрипт check_http. Пусть он будет делать http-запрос каждые N минут к чему-то, что, по вашему мнению, будет работать (google, facebook, yahoo). Если вы не хотите, чтобы он жаловался, когда DNS не работает, используйте IP удаленного сервера вместо имени DNS.

check_http не выполняет эту работу, так как маршрутизаторы WRT54GL генерируют сертификат SSLv1 (Tomato 1.28 в моем случае), который не принимается плагином check_http nagios (только SSLv2 и SSLv3 в nagios-plugins 1.4).

nagios@host:~# ./check_http --ssl -H cacert.org
HTTP OK: HTTP/1.1 302 Found - 412 bytes in 0.446 second response time |time=0.445800s;;;0.000000 size=412B;;;0
nagios@host:~# ./check_http --ssl -H myrouter.local
CRITICAL - Cannot make SSL connection 
20391:error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter:s23_clnt.c:602:
HTTP CRITICAL - Error on receive

вместо этого пользователь check_tcp

nagios@host:~# ./check_tcp -p 443 -H myrouter.local
TCP OK - 0.059 second response time on port 443|time=0.059017s;;;0.000000;10.000000