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

Скрипт для регистрации сбоев подключения к Интернету

Как лучше всего настроить сценарий для отслеживания и сообщения о подключении сервера к Интернету? Я не имею в виду подключение к локальной сети, а скорее возможность сервера (или всей сети) получить доступ к Интернету в тех случаях, когда соединение вашего провайдера прерывается.

Это должен быть сценарий, который проверяет подключение к Интернету 24/7 и регистрирует результаты (или, возможно, просто регистрирует, когда происходит сбой), а затем какой-то другой способ читать эти журналы и генерировать отчет, показывающий различную статистику ( в каком% случаев подключение к Интернет-провайдеру было отключено и т. д.).

Будет ли это что-то столь же простое, как проверка связи с различными популярными URL-адресами (google.com, amazon.com и т. Д.) И использование этого в качестве теста, чтобы определить, есть ли у вас доступ в Интернет? Или есть лучший подход?

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

Как правило, первое, что вам нужно сделать, это точно определить, что вы называете отключением Интернета. Означает ли "отключение", что вы не можете связаться:

  • маршрутизатор CPE в вашей локальной сети?
  • маршрутизатор ISP на другом конце вашего соединения PPP?
  • Хост где-то в середине сети вашего интернет-провайдера, такой как DNS или почтовый сервер (но интернет-провайдер мог потерять все восходящие подключения)?
  • «Общий» хостинг в Интернете? Что делать, если этот хост не работает, а остальная часть Интернета работает?
  • Разные хосты в Интернете? Что же тогда такое состояние "сбой"? Сколько пользователей должны быть недоступны, прежде чем вы сочтете, что Интернет "не работает"?

Для вашего конкретного случая (попытки определить стабильность вашего интернет-соединения) журналы мониторинга и / или SNMP от вашего маршрутизатора должны предоставить вам необходимую информацию, хотя «реальные» тесты прохождения трафика, вероятно, будут полезны. Если это связь между вами и интернет-провайдером, тогда будет хорошо пинговать некоторые из ваших хостов интернет-провайдера (DNS / Mail и т. Д.) Или лучше сценарий и фактический поиск DNS на их DNS-сервере, и попробуйте установить SMTP-соединение со своим почтовым сервером. Конечно, не делайте этого слишком часто, иначе они могут обвинить вас в нарушении Политики допустимого использования, Условий обслуживания и т. Д.

Я использую отличный инструмент для мониторинга подобных подключений.

MTR или маршрут My Trace.

Это во многом эволюция от единичных операций ping и трассировки маршрутов, почти гибрид этих двух.

MTR имеет несколько режимов работы

mtr --report google.com

создаст отчет, который вы отправите провайдеру для анализа.

ИЛИ вы можете попробовать

mtr google.com и дважды нажмите d, чтобы увидеть задержку или потерю между всеми переходами за период времени.

В зависимости от разновидности Linux, о которой вы говорите, большинство дистрибутивов имеют MTR в своих собственных репозиториях.

Обычно это осуществляется посредством мониторинга интерфейса с использованием протокола SNMP на самом брандмауэре / маршрутизаторе. Кроме того, вы можете использовать netflow / sflow / jflow на интерфейсах для сбора более подробной статистики / информации.

Более крупные интернет-провайдеры также будут предлагать порталы с инструментами мониторинга (на ум приходят Sprint / Cox / TW и другие).

Кроме того, вы можете настроить такие инструменты, как Nagios и т. Д., Которые могут пинговать исходящий, а также дополнительный уровень / проверку

Вы также можете использовать сторонние инструменты, такие как http://newrelic.com/monitor-everything или аналогично контролю извне, проверяющему доступность вашего сервера. Или что-то столь же простое, как бесплатный онлайн-монитор ping (просто поиск), который будет пинговать WAN IP вашего брандмауэра и, если он недоступен, предупредит вас.

Мониторинг этого только с точки зрения вашего сервера близорук и может не точно отражать истинное отключение самого провайдера.