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

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

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

pingdom.com, site24x7.com, uptrends.com, siteuptime.com и т. д. и т. д.

Если быть точным, какой процесс будет происходить при проверке того, что данное доменное имя не работает? Если сервер обнаруживает, что сайт не работает, что делать дальше? Будет ли он делать запрос REST API на отдельный сервер, чтобы запустить тот же тест и сообщить о результатах?

У меня есть несколько теорий, в том числе:

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

Подавляющее большинство этого будет зависеть от реализации. Например, каждый провайдер решает, как они реализуют внутренние коммуникации. Возможно, REST, возможно, XMLRPC, возможно, Pyro и так далее.

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

«Самый правильный» способ - относительный, в зависимости от того, что вы хотите контролировать. Что именно вы хотите отслеживать и насколько важны для вас международные проверки? Ты можешь делать что-нибудь об этом, если тесты из Канады будут быстрыми, а проверки из Украины - медленными?

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

Однако все зависит от того, чем вы хотите заниматься. HTH.

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

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

  • Сайты периодически проверяются (5 минут?), Чтобы узнать, работают ли они.
  • Сайт, который не отвечает, будет перепроверяться каждые полминуты или около того, и счетчик проверок для этого сайта увеличивается.
  • Если сайт отвечает, время проверки и счетчик отказов сбрасываются
  • Если сайт не отвечает после X повторных попыток, отправляется предупреждение и, если возможно, служба и / или сервер перезапускаются.