WEBO PulsarБизнес в интернете сейчас очень сильно завязан не только на качество самого сайта, но и на его доступность и работоспособность в режиме 24/7/365. И хотя хостинг-провайдеры заявляют о достаточно большом аптайме площадок и серверов, не всегда этого бывает достаточно, чтобы быть уверенным в надежности сайта. Одним из помощников в этом является мониторинг как доступности, так и работоспособности основных подсистем сайта. Давайте посмотрим, как это можно делать сейчас.

Регулярная проверка


Один из наиболее распространенных методов — регулярная проверка работоспособности сайта. Можно делать самому — открыть с утра сайт любимой компании или интернет-магазин (имея его в стартовой странице браузера), радоваться, что работает. И закрывать. Не очень удобно и совсем не эффективно. Проблемы с доступностью обычно начинаются непредсказуемо. Обнаруживать их лучше сразу же, как только они возникли. Также часто помогают сами пользователи — начинают звонить и писать, что сайт не работает (если телефон и почта указаны где-то за пределами сайта). Самый же частый сигнал нерабочего сайта — прекращают приходить клиенты. Тут уже бьют тревогу и начинают выяснять, что же там случилось. рвут волосы, отрывают колокольчики, посыпают пеплом и солью. Хотя всего этого можно было избежать.

Мониторинг доступности


Более образованные и продвинутые владельцы сайта или руководители, за него отвечающие, знают о необходимости постоянного мониторинга доступности сайта — отслеживания того, работает ли он или нет. Наиболее частая ошибка здесь — неправильный выбор частоты мониторинга. Проверка раз в сутки работспособности сайта, конечно, полезна, но потеря дневной выручки — это слишком большая цена ошибки. Наиболее оптимальным для простого мониторинга является десятиминутный интервал: большинство пользователей попытаются вернуться на сайт в течение 1-2 часов, а за это вреям можно как обнаружить проблемы, так и эффективно их устранить без особого вреда для бизнеса компании.

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

Мониторинг проблем


Когда уровень доступности сайта уже становится критичным для бизнеса — особенно наличие «плавающих» проблем, связанных со стечением ряда обстоятельств — то обычного мониторинга становится мало. Здесь необходиом уже отслеживать несколько параметров сайта с частотой не менее раза в минуту и из нескольких географических точек (чтобы максимально покрыть минутный интервал проверками и установить возможные проблемы, связанные с географией пользователей). Среди возможных критериев проверки можно выделить:
  • Проблемы с DNS-сервером (когда в определенные интервалы времени адрес сайта не может быть определен, хотя сам сайт физически доступен).
  • Проблемы с большим временем ответа (при обновлении кэша, например, или при выполнении «тяжелых» задач на стороне сервера).
  • Проблемы с плановым выполнением задач (в результате которых сайт будет не доступен только в определенные моменты времени).
  • Проблемы с большим времени ожидания статических файлов (например, из-за сетевой инфраструктуры или проблем с физическим носителем).
  • Проблемы с подключением к базе данных.
  • и т.д.

В этом случае необходим ежеминутный мониторинг сайта из нескольких точек (либо при помощи нескольких независимых сервисов или точек проверки). Мониторинг может быть недолговременным (до обнаружения и исправления проблем) либо периодическим (в целях профилактики проблем). Также возможна регулярная самопроверка сайта на возможные проблемы доступности, но внешняя проверка всегда лучше вну��ренней по большому ряду причин. Дополнительно внешние сервисы уже сейчас предоставляют детальную информацию о проблемах, вплоть до логов ошибок на стороне клиента (при соответствующей настройке — и логов ошибок со стороны сервера).

Этот метод особенно хорош, когда требуется отловить какую-то «плавающую» ошибку. При включении детальных логов возникающей ошибки даже при отсутствии деталей ошибки на стороне сервера можно ее эффективно отследить и устранить. Несколько точек проверки позволяют добиться частоты проверки вплоть до раза в 10 секунд — а это более чем достаточно, чтобы обнаружить все, что необходимо.

Мониторинг работоспособности


Эта тема особенно актуальна для интернет-магазинов, для которых возможность заказа или отправки запроса являетс�� ключевой. Также сюда может относиться любой сложный функционал, которым можем быть затронут изменениями на сайте (например, кабинет интернет-банка). В этом случае необходимо настраивать цепочки проверок либо задавать сложные условия для проведения проверок. Без помощи квалифицированного специалиста здесь вряд ли обойтись, но сейчас есть продукты и сервисы, которые позволяют автоматизировать весь или почти весь процесс такого функционального мониторинга сайта.

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

P.S. В топике не затрагиваются темы устройства внутреннего мониторинга кластера или системы веб-серверов — для этой цели лучше подойдет Nagios, а также вопросы скорости и отказоустойчивости самих сайтов — тут лучше Load Impact или собственных систем, например, на базе JMeter пока ничего нет.

P.P.S. Мониторинг работоспособности облачных сервисов — также тема отдельного топика.