Мониторинг интернет-магазина: почему надо следить не только за сайтами конкурентов, но и за своим
Если поискать по запросу «мониторинг интернет-магазина», вы увидите, что вся выдача посвящена отслеживанию цен. Все следят за конкурентами, в то время как не мешало бы посмотреть за собой, а точнее — за своим сайтом. И да, для этого тоже нужны специализированные инструменты. Разнообразия ради в этой статье поговорим о мониторинге не чужих сайтов, а собственных.
В крупных IT-компаниях мониторинг — это отдельная большая часть работы технической команды, иногда даже выделенной команды. Глобальная цель этой работы — вовремя узнавать о любых проблемах с сайтом и предотвращать их. Но у небольшого или среднего интернет-магазина на первом месте совсем другие задачи: найти нишу, организовать закупки, наполнить сайт, запустить рекламную кампанию, цены вот определить, с налоговой разобраться. Не до мониторинга!
И до определённого момента с этим никаких проблем. Но когда бизнес подрастает, рекламные кампании начинают работать, мытарства с ценами, наконец, приводят к результату и дела идут в гору — вот тогда наступает пора вспомнить про мониторинг. Потому что иначе именно его отсутствие может пустить все усилия сами знаете куда.
Почему мониторинг интернет-магазина важен
Как уже было сказано, мониторинг помогает вовремя узнать о проблемах с сайтом. Но какие проблемы могут возникнуть? Самые разные, посмотрим на них с двух точек зрения: с точки зрения последствий для бизнеса и технических причин.
С точки зрения последствий для бизнеса:
- Сайт работает медленно. По данным Amazon, за каждые 100 мс задержки они теряют 1% продаж. Понятно, что в магазинах поменьше потери будут не такими, но всё же. Кому понравится долго ждать загрузки?
- Отдельные страницы не открываются. Это может быть страница товара, а может — корзина или форма оплаты. Компании проводят дорогие исследования, чтобы улучшить дизайн и повысить конверсию страницы покупки. Обидно, если пользователь её вовсе не увидит.
- Сайт недоступен целиком. Да, такое тоже бывает. И хорошо, если он совсем упал — владелец быстро это заметит. Хуже, если сайт падает время от времени и для части клиентов. Подобное может продолжаться месяцами, пока клиенты не начнут жаловаться.
Ещё бывает, что сайт редиректит, то есть перенаправляет пользователей на другие сайты, и порой не вполне приличные. Но это не самый частый кейс, поэтому о нём в другой раз. А сейчас поговорим про технические причины сбоев.
Проблемы у хостинг или облачного провайдера. Если очень упрощать, то сайт — это программа, и она работает на физическом устройстве. Это физическое устройство может быть недоступно: у провайдеров случаются аварии (например, недавно был пожар в крупном дата-центре OVH) и просто сбои (вот Яндекс.Облако отчиталась о проблемах с сетью).
Проблемы у «соседей» по хостингу. Сайты интернет-магазинов часто размещают на недорогом хостинге — оплачивают не выделенный сервер, а место на сервере, где лежат и другие проекты. В таком случае сложности могут возникнуть из-за «соседей»: кто-то разместит запрещённый контент — IP-адрес сервера заблокируют и вместе с ним под блок попадёт ваш интернет-магазин. Или на сайт соседей придёт много трафика, сервер не справится и начнёт тормозить, а то и совсем откажет.
Проблемы в коде и настройках сайта. Чем больше и сложнее сайт, тем выше вероятность, что в его работе что-то пойдёт не так. Самые частые причины: неправильная настройка веб-сервера или базы данных, неоптимальный код. Редко из-за ошибок разработчиков или администраторов ломается всё, чаще не работают или медленно загружаются отдельные страницы. Но бывают и эпичные случаи, когда админ удаляет половину директорий сайта просто по незнанию.
Сайт не рассчитан на высокую нагрузку. Уже ставшая общим местом ситуация с «Чёрной пятницей»: магазин устраивает распродажу — приходит в 20 раз больше покупателей, чем обычно — сайт не справляется с нагрузкой и падает. Подобное может случиться не только в момент распродажи и не только из-за наплыва посетителей. Оперативная память или место на диске могут закончиться из-за ошибок в коде, DDoS-атаки или вредоносного ПО, которое поселяется на сайт через уязвимости и генерирует неадекватную нагрузку.
Забывчивость. Как ни странно, это тоже довольно частая причина остановки работы сайта: владелец забыл вовремя оплатить хостинг или домен — провайдер заблокировал доступ. Или администратор забыл настроить регулярное обновление ПО, на котором работает сайт, и через уязвимости в этом ПО на сайт проникли вирусы. Сайт с вирусами понижают в выдаче поисковики (прощай, SEO-оптимизация), ну а ещё вирусы замедляют работу сервера и могут красть данные пользователей.
Какая бы из этих причин не привела к сбою, результат всегда примерно один — интернет-магазин теряет покупателей. Причём самое обидное, что никто из клиентов не напишет: «Ребята, у вас беда, я не смог купить корм для своей кошечки». Большинство просто уйдёт к конкуренту и купит корм там. А о проблеме расскажет не вам, а знакомым — негативным опытом делятся охотнее, чем позитивным.
Что нужно мониторить и как
Задача мониторинга — отслеживать все ключевые параметры работы интернет-магазина. Чтобы и без отзывов клиентов знать, когда они не смогли сделать покупку. Делают это на уровне самого сайта и на уровне инфраструктуры.
На уровне сайта обычно отслеживают:
- доступность (всего сайта или ключевых страниц),
- время ответа в миллисекундах,
- скорость доступа,
- статистику по платежам и т. д.
На уровне инфраструктуры:
- загрузка процессоров,
- оставшееся место на диске,
- свободная оперативная память,
- нагрузка по трафику и т. д.
Мы перечислили только самые основные метрики, в действительности их может быть гораздо больше. На основе метрик настраивают оповещения: когда какой-то из показателей превышает заданное значение, администратор получает уведомление и сразу может принять меры. Например, когда на диске останется менее 30% свободного места или процессоры будут загружены на 60% и выше.
Для мониторинга используют специальное программное обеспечение. Самое известное, пожалуй, это сервисы веб-аналитики: Яндекс.Метрика и Google Analytics. Но они отслеживают поведение пользователей и для технического мониторинга не подходят (хотя какую-то информацию о состоянии сайта оттуда почерпнуть можно).
Для мониторинга небольших и средних интернет-магазинов используют Zabbix, Nagios, Cacti. В крупных проектах, которые построены на Kubernetes, применяют Prometheus, а для визуализации метрик подключают Grafana, Graphite.
Кроме того, для полного контроля за состоянием сайта используют системы внешнего мониторинга — они имитируют действия живых пользователей: заходят на сайт, открывают страницы и сохраняют результат (ответ сервера, скорость загрузки). Бесплатные сервисы внешней проверки: UptimeRobot, Check host, Host Tracker.
Настройка всех этих инструментов входит в задачи системного администрирования. То есть занимаются ей либо сисадмины, либо инженеры эксплуатации, либо DevOps-инженеры — зависит от того, какая из этих должностей предусмотрена в компании. В совсем небольших проектах мониторинг отдают на откуп разработчикам или привлекают сторонних подрядчиков.
Минутка рекламы: если когда-то будете искать подрядчика для настройки мониторинга интернет-магазина, приходите в Southbridge. Мы уже более 10 лет поддерживаем инфраструктуру, в том числе — проектов в сфере электронной коммерции. Не только настраиваем мониторинг, но и повышаем скорость и стабильность работы сайтов, заботимся о безопасности.
Очень странно, что тут не упомянута скорость загрузки сайта.
Алексей, в статье скорость загрузки сайта упомянута. Вы правы, это действительно один из самых важных параметров. В списке она названа "скорость доступа", на первом скриншоте показана как раз скорость загрузки страницы сайта.