Мониторинг стабильности интернет-соединения

Я относительно недавно зарегистрировался с новым провайдером, и у меня есть около 2 недель, чтобы определить, достаточно ли времени их работы для работы сервера. Мой первоначальный план состоял в том, чтобы установить Nagios на старый ноутбук и хранить его в доме друга, но, если коротко, сервер в доме друга неосуществим.

У меня двоякая цель:

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

В идеале я мог бы достичь обеих целей с помощью одного и того же программного обеспечения.

У меня иррациональное отвращение к SaaS, поэтому я подумал, так как у меня в кармане всегда включен, всегда подключен Linux-блок (в виде телефона Android), конечно, есть какой-то существующий инструмент для мониторинга времени работы сервера,

Когда я искал интернет для такого приложения, это было погружение в безумие. Многие "мониторинговые" приложения проверяют сервер, только когда вы открываете приложение и отправляете команду ping. Я хочу настроить его один раз, а затем проверять телефон каждые 1-5 минут без каких-либо дополнительных действий с моей стороны. Я не возражаю против того, чтобы насыщать соединение для передачи данных моего телефона, так как я действительно буду орать на него в течение следующих 2 недель. После этого я могу уменьшить частоту опроса.

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

Потенциально значимая информация: мой бюджет составляет 0 долларов США. Все мои устройства - Linux или Android.

Я надеюсь, что блестящие люди Server Fault получат некоторую информацию / рекомендации о том, как наилучшим образом достичь этой цели. Благодарю.

4 ответа

Решение

Это небольшой вопрос о покупке, но я все равно отвечу, так как это полезный инструмент sysadmin: Decaf Monitor делает именно то, что вы просите. Существует множество сервисов, которые делают это, и если мониторинг одного сервера часто бесплатен. Я нашел Montastic достаточно хорошо для случайного мониторинга. Для одного сервера, в который вы не готовы вкладывать много денег, вы правы в том, что не любите такого рода решение.

На самом деле, если вы делаете это каким-либо профессиональным способом (чтобы быть в теме на этом сайте), то зачем вам самостоятельно размещать один сервер, если вы можете арендовать стойку или VPS примерно за 300 долларов США в год с огромной избыточностью и гигабитами? скорость соединения?

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

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

Параметры конфигурации по умолчанию заняли некоторое время, чтобы обнаружить сбой, поэтому я повысил чувствительность. Это застало время простоя почти сразу. К сожалению, когда происходит сбой, Decaf Monitor вибрирует телефон, пока вы не включите экран и не подтвердите его, и он делает это после каждой проверки (которую я установил раз в минуту), так что это действительно раздражает, если вы находитесь в середина чего-то, что вы можете уронить (застрявший в пробке у стоматолога). Я не видел никаких настроек, чтобы изменить это, но возможно, что есть, и я просто пропустил это.

Было на удивление мало ложных предупреждений. Когда мой телефон потерял соединение, Decaf Monitor поместил значок в строке состояния, указывающий, что он не может подключиться, но не будет вибрировать, и значок исчезнет сам по себе, когда соединение будет восстановлено.

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

Если у вас есть известная хорошая удаленная точка, которую вы можете протестировать, вы можете реализовать свои собственные тесты ping/netcat/curl/wget для проверки доступности сетевого подключения, а также задержки.

Если вам не нужно получать уведомления немедленно, вы можете просто войти в систему локально. Это можно сделать на вашем хостинг-сервере... или на другом, возможно выделенном, блоке мониторинга. Окно мониторинга было бы идеальным, особенно если вы будете размещать оборудование и / или VPS других людей в будущем.

Если вам необходимо получить уведомление, вам понадобится телефон. Желательно тот, к которому у вас есть средство для подключения к сети (например, телефон Android), но также хорошо подойдет "модемный" телефон 3G 3G старой школы. Затем вы можете использовать эту внешнюю ссылку, чтобы отправить вам уведомление по электронной почте или по электронной почте на смс, чтобы сообщить вам о сбое или любом отклонении от вашего подключения.

Я думал о старых смартфонах, как о автономных узлах мониторинга и уведомлений с резервным питанием от батареи. Учитывая, что большинство телефонов Android можно уговорить запустить Java или получить оболочку (та же история с iPhone, Kindles и т. Д.), Есть много вариантов в этом направлении.

Хотя, если вы думаете о коммерческом предприятии, лучше использовать Mifi для домашнего "центра обработки данных" как внешнюю связь.

Простой сторожевой таймер shell-скрипта может быть полезен... что-то вроде: извините за то, что мне лень писать его в bash, но я просто даю идею.

VAR=0
while(true){
 ping -c 1 yourserver
 if failed then increment VAR
 else VAR=0
 if VAR=10 then notify me
 sleep 1000
}
Другие вопросы по тегам