Бизнес в интернете сейчас очень сильно завязан не только на качество самого сайта, но и на его доступность и работоспособность в режиме 24/7/365. И хотя хостинг-провайдеры заявляют о достаточно большом аптайме площадок и серверов, не всегда этого бывает достаточно, чтобы быть уверенным в надежности сайта. Одним из помощников в этом является мониторинг как доступности, так и работоспособности основных подсистем сайта. Давайте посмотрим, как это можно делать сейчас.
Один из наиболее распространенных методов - регулярная проверка работоспособности сайта. Можно делать самому - открыть с утра сайт любимой компании или интернет-магазин (имея его в стартовой странице браузера), радоваться, что работает. И закрывать. Не очень удобно и совсем не эффективно. Проблемы с доступностью обычно начинаются непредсказуемо. Обнаруживать их лучше сразу же, как только они возникли. Также часто помогают сами пользователи - начинают звонить и писать, что сайт не работает (если телефон и почта указаны где-то за пределами сайта). Самый же частый сигнал нерабочего сайта - прекращают приходить клиенты. Тут уже бьют тревогу и начинают выяснять, что же там случилось. рвут волосы, отрывают колокольчики, посыпают пеплом и солью. Хотя всего этого можно было избежать.
Более образованные и продвинутые владельцы сайта или руководители, за него отвечающие, знают о необходимости постоянного мониторинга доступности сайта - отслеживания того, работает ли он или нет. Наиболее частая ошибка здесь - неправильный выбор частоты мониторинга. Проверка раз в сутки работспособности сайта, конечно, полезна, но потеря дневной выручки - это слишком большая цена ошибки. Наиболее оптимальным для простого мониторинга является десятиминутный интервал: большинство пользователей попытаются вернуться на сайт в течение 1-2 часов, а за это вреям можно как обнаружить проблемы, так и эффективно их устранить без особого вреда для бизнеса компании.
С другой стороны, более частые проверки не дают гарантии того, что проблема будет исправлена оперативнее, чем в течение часа. Ведь основное время уходит не столько на нахождение проблемы, сколько на выяснение ее причин и их исправление.
Когда уровень доступности сайта уже становится критичным для бизнеса - особенно наличие "плавающих" проблем, связанных со стечением ряда обстоятельств - то обычного мониторинга становится мало. Здесь необходиом уже отслеживать несколько параметров сайта с частотой не менее раза в минуту и из нескольких географических точек (чтобы максимально покрыть минутный интервал проверками и установить возможные проблемы, связанные с географией пользователей). Среди возможных критериев проверки можно выделить:
В этом случае необходим ежеминутный мониторинг сайта из нескольких точек (либо при помощи нескольких независимых сервисов или точек проверки). Мониторинг может быть недолговременным (до обнаружения и исправления проблем) либо периодическим (в целях профилактики проблем). Также возможна регулярная самопроверка сайта на возможные проблемы доступности, но внешняя проверка всегда лучше внутренней по большому ряду причин. Дополнительно внешние сервисы уже сейчас предоставляют детальную информацию о проблемах, вплоть до логов ошибок на стороне клиента (при соответствующей настройке - и логов ошибок со стороны сервера).
Этот метод особенно хорош, когда требуется отловить какую-то "плавающую" ошибку. При включении детальных логов возникающей ошибки даже при отсутствии деталей ошибки на стороне сервера можно ее эффективно отследить и устранить. Несколько точек проверки позволяют добиться частоты проверки вплоть до раза в 10 секунд - а это более чем достаточно, чтобы обнаружить все, что необходимо.
Эта тема особенно актуальна для интернет-магазинов, для которых возможность заказа или отправки запроса является ключевой. Также сюда может относиться любой сложный функционал, которым можем быть затронут изменениями на сайте (например, кабинет интернет-банка). В этом случае необходимо настраивать цепочки проверок либо задавать сложные условия для проведения проверок. Без помощи квалифицированного специалиста здесь вряд ли обойтись, но сейчас есть продукты и сервисы, которые позволяют автоматизировать весь или почти весь процесс такого функционального мониторинга сайта.
Насколько важен мониторинг для сайта оценить очень просто: достаточно посчитать дневной доход, создаваемый сайтом, и соотнести его со стоимостью этого мониторинга. Понять, сколько стоит каждый час простоя сайта в рабочее время, и принять решение об эффективности мониторинга и его детализации (будет это простая проверка доступности, мониторинг работоспособности или комплексный мониторинг всех возможных проблем).
P.S. В топике не затрагиваются темы устройства внутреннего мониторинга кластера или системы веб-серверов - для этой цели лучше подойдет Nagios, а также вопросы скорости и отказоустойчивости самих сайтов - тут лучше Load Impact или собственных систем, например, на базе JMeter пока ничего нет.
P.P.S. Мониторинг работоспособности облачных сервисов - также тема отдельного топика.