Вопрос: Как я могу получать предупреждения, когда мой сайт не работает?


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

Каков наилучший способ сделать это? Я запускаю Centos 5.3, Nginx, Passenger, Rack и т. Д.

Я подумал о том, чтобы каким-то образом написать свой хвост моего журнала ошибок, поскольку это поможет мне уловить ВСЕ, а не только одно приложение (это скажет мне недостающие ссылки и т. Д.). Есть ли простой способ сделать это?

Благодаря!


4
2017-10-12 16:33


Источник




Ответы:


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

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

Bello или Pingdom оба предлагают бесплатные учетные записи, которые помогут вам начать работу.

Дополнительные услуги перечислены в Кто-нибудь может рекомендовать службу мониторинга веб-сайта?


5
2017-10-13 18:25



Ах, да, это именно то, что я искал. Благодаря! - Sean Clark Hess


Я удивлен, что никто не упоминается Nagios, Он невероятно мощный, увеличивает процентное соотношение времени, уведомления по электронной почте / чату, может запускать скрипты в режиме простоя и т. Д. Вероятно, это лучше всего.


4
2017-10-12 17:36



Нагиос почти всегда отвечает за мониторинг. Но для чего-то подобного это может быть излишним. Некоторые сценарии, вероятно, будут проще. - baumgart
Я не согласен. С недавними виртуальными устройствами и работой GroundWork настройка Nagios довольно проста, и чем раньше вы ее настроите, тем дольше вы начнете собирать данные о тенденциях. Кроме того, как насчет того, как он растет / хочет контролировать больше вещей? Настройте Nagios сейчас, будьте готовы контролировать новые сервисы в любое время в будущем. - Josh
Вот ссылка на GroundWork: groundworkopensource.com/community - Josh
На самом деле это ужасный ответ. Стоимость - просто проверить, работает ли сервер / веб-сайт - сумасшедшие. Это похоже на рекомендацию кому-то открыть службу такси, когда он спрашивает, где он может взять машину на прогулку. Nagios понадобится вторая виртуальная машина (не может проверить, висит ли первая) и журнал конфигурации. Это электроинструмент, но для «мой сайт вверх» я всегда рекомендую внешнюю службу. - TomTom


Проверьте AreMySitesUp (http://aremysitesup.com) и Pingdom. У обоих есть бесплатные варианты, и вы будете отправлять по электронной почте и SMS, когда ваш сайт не работает. У AreMySitesUp есть приложение для iPhone.


2
2017-10-14 17:25





  • вы можете использовать Бога: бог (точка) rubyforge [dot] org

  • у вас есть сервер в другом месте, где вы можете запускать скрипты?

  • эти ребята будут следить за вашей страницей (максимум 2 URL) бесплатно (каждые 30 минут) http host-tracker.com страница заказа


1
2017-10-12 17:11



Я проверю Бога. Я действительно не хочу использовать другой VPS, но сам сервер не сбой, а просто nginx. Благодаря! - Sean Clark Hess
Вы просто управляете Богом как демоном? Вам нужно добавить поддержку в самом приложении? - Sean Clark Hess
Это просто совпадение? Кристиан пропагандирует Бога? :) - John Gardeniers
@embwbam Бог просто работает как демон. Может даже просто запустить его периодически через cronjob. - gregf


Вы можете получить базовые тесты на подключение, просто написав сценарий оболочки, который использует wget, а затем определяет, отвечала ли страница или нет на основе кода ответа.

#!/bin/bash
WGET='/usr/bin/wget'
URL='http://url.to.check'

${WGET} -O /dev/null --tries=1 ${URL}

if [ $? -eq 0 ]; then
    echo "Success!"
     # You could write a log file or something here
else
    echo "Fail! :("
     # run something to mail you that your site isn't responding
fi

Это очень простой пример, который можно было бы расширить, но если вы просто ищете что-то быстрое, это сработает. Вы можете cron его, чтобы вы знали w / в минуту, если он разбился.


1
2017-10-12 17:18



Да, круто ... Правильно ли я полагаю, что большинство людей будут использовать что-то более надежное для «реальных» приложений? - Sean Clark Hess
Да, это всего лишь очень простая проверка. Если вы хотите сделать более подробный мониторинг и тенденцию более чем одного URL-адреса, вам понадобится нечто вроде Nagios, OpenNMS или других подобных систем мониторинга. - Alex


Nagios отлично, если у вас много серверов. Я предлагаю начать с munin, это просто настроить, а плагины - буквально 5-минутные инвестиции. Он отлично подходит для сбора статистики и оповещения в меньшем масштабе, чем nagios. Лучше всего, если вы расширитесь, чтобы быть достаточно большим, чтобы гарантировать инвестиционные потребности nagios, он хорошо интегрируется в nagios.

Munin: http://munin.projects.linpro.no/

Развитие начало собирать снова также !!


1
2017-10-18 20:10





Вы можете использовать что-то вроде марионетки или cfengine для мониторинга процесса.

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

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

Я не знаком с набором параметров ruby ​​/ rack, но я знаю, что Django также может отправлять вам сообщения об ошибках сервера (страница, которая вызывает ошибку при рендеринге) и 404 с вашего собственного сайта. Возможно, вы можете найти аналогичный вариант или зацепить то, что вы строите.

Объединив два из этих средств, я получаю уведомление в случае, если страница не отображается, и если весь демон умирает.


0
2017-10-12 16:55



Я запускаю рубиновое приложение без рельсов. Поэтому, если что-то не встроено в пассажира (слой, который создает рубиновые процессы для nginx), у меня нет рамки, чтобы сделать что-нибудь классное для меня - Sean Clark Hess


вы действительно должны сосредоточиться на отладке и устранении проблемы вместо этого :)

Сказал, что есть два способа сделать то, что вы хотите. Если ваш сервер всегда работает (и вы доверяете ему, чтобы он был вверх), вы можете легко контролировать любую запущенную службу с помощью задания cron. Любое программное обеспечение для мониторинга просто было бы излишним. Но если у вас возникли проблемы с вашим веб-приложением, и он каким-то образом сработал, фактически не сбив с сервера какие-либо службы, и нет простого способа проверить, что он не сработал (сам процесс все еще работает, проверка результатов несовместима и т. Д.). .), то вы, вероятно, захотите использовать одну из рекомендованных здесь служб, которые проверяют ваш сайт снаружи.


0
2017-10-13 18:41



К тому времени, когда я заметил, что сайт не работает, больно найти соответствующую запись в моем журнале ошибок. Если я получу это сразу, это будет проще. - Sean Clark Hess