Перейти к основному содержимому
pageever

Почему сайты падают и как узнать раньше клиентов

Максим ЗаяцМаксим Заяц — web-разработчик с более чем 10-летним опытом, основатель pageever. Работает с Laravel, Symfony, React и автоматизацией бизнеса.Обновлено:

Почему сайты падают и как узнать раньше клиентов

Сайты падают по будничным причинам: закончился SSL-сертификат, вовремя не оплачен хостинг или домен, обновление на сервере сломало совместимость, после перезагрузки поднялись не все сервисы или сайт упёрся в лимит внешнего сервиса. Узнать об этом раньше клиентов можно одним способом — автоматическим мониторингом, который проверяет сайт чаще, чем туда заходят посетители.

Из-за чего сайты падают чаще всего?

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

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

Неоплаченный хостинг или домен — вторая классика. Письмо с напоминанием утонуло в почте, карта не сработала, и хостер выключил сайт. В лучшем случае всё возвращается после оплаты. В худшем — данные уже удалены, и восстанавливать не из чего. С доменом отдельная беда: просроченный домен со временем уходит в свободную продажу.

Обновления системы на сервере владелец вообще не контролирует. Хостер обновил ПО — и часть сайта перестала работать из-за несовместимости: на отдельных страницах появилась ошибка, хотя сам сайт никто не трогал месяцами.

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

Пятая причина — лимиты внешних сервисов. Сайт опирается на сторонние сервисы вроде платёжной системы или карт. У каждого есть лимиты, и пока трафика мало, их не видно. В день пика сервис перестаёт отвечать и утягивает за собой часть сайта — ровно тогда, когда посетителей больше всего.

ПричинаЧто видит посетительКак заметить раньше него
Просроченный SSLКрасное предупреждение браузераЕжедневная проверка срока сертификата
Неоплаченный хостинг или доменСайт не открывается вообщеЕжедневный контроль срока домена и оплат
Обновление на сервереОшибки на части страницПроверка доступности каждый час
Сервер перезагрузилсяСайт «вроде работает», но форма молчитЕжедневная проверка формы заявок
Лимит внешнего сервисаВсё тормозит или часть функций отказываетПроверка доступности каждый час и алерт в Telegram

Самый дорогой «работающий» сайт

Эту историю нам пересказали коллеги, и сразу честно: программист в ней не наш. Блогерша сняла рилс со ссылкой на свой лендинг — тот продавал доступ в закрытый Telegram-канал. Видео завирусилось на миллионы просмотров, и на сайт пришло 50 000 посетителей. Оплат — ноль. Ни первый, ни сотый человек не смог заплатить, потому что программист забыл переключить платёжную систему из тестового режима в боевой. Сайт открывался быстро, страница оплаты выглядела исправной, и мониторинг доступности всё это время показывал бы зелёный статус. По всем техническим признакам сайт «работал» — он просто молча не принимал деньги в лучший день своего существования. Такой трафик не повторяется по заказу: второго вирусного видео может и не быть. Поэтому проверка «открывается ли сайт» — только половина дела; вторую половину закрывает проверка критического пути, по которому приходят деньги или заявки. В нашем мониторинге форма заявок поэтому проверяется отдельно, раз в сутки.

Что поймал наш мониторинг за последний месяц?

Под наблюдением у нас сейчас 20+ сайтов. За последний месяц мониторинг поймал 3 инцидента, и все три — на наших собственных экспериментальных сайтах, где мы обкатываем новые решения; клиентские сайты прожили месяц спокойно.

Типичный пример: на одном из экспериментальных сайтов выросла нагрузка на сервер и просела скорость. Алерт пришёл в Telegram, мы добавили серверу мощностей, на этом инцидент закончился. Ничего героического — в этом и суть: проблема, о которой узнаёшь рано, остаётся мелкой. Случись тот же всплеск на клиентском сайте, сценарий был бы тем же, и владелец узнал бы об инциденте из нашего сообщения, а не из простоя.

А вот случай, который не поймал бы никакой мониторинг. Клиент опубликовал на сайте номер телефона с ошибкой. Технически всё работало: страницы открывались, форма отправляла заявки. Только звонков не было. Ошибку нашла внимательность, а не автоматика. Вывод, которым мы пользуемся до сих пор: «сайт работает» и «сайт приносит» — это две разные проверки, и полностью автоматизировать можно только первую.

Как узнавать о падениях раньше клиентов?

Механика нашего мониторинга простая. Доступность сайта проверяется каждый час. SSL-сертификат, срок домена и форма заявок — раз в сутки. Когда проверка проваливается, алерт сразу приходит нам в Telegram. Мониторинг работает круглосуточно, а реагируем мы в рабочие часы, Пн–Пт с 09:00 до 19:00 по Киеву — в среднем ответ занимает ~30 минут.

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

Для сайтов на подписке pageever мониторинг уже включён даже в Базовый тариф за €10/мес или €96/год. Если же сайт живёт на своём хостинге и переезжать не собирается, есть отдельная услуга — мониторинг чужих сайтов за €50/год: переносить ничего не нужно, мы просто ставим сайт под наблюдение.

За последний месяц все 3 инцидента мы увидели в алертах в Telegram, а не узнали из звонков клиентов.

Нужен уход за сайтом?Хостинг, домен, бэкапы и мониторинг от €8 в месяц.Посмотреть тарифы

Расскажите, что нужно

Анализ задачи и оценка — бесплатно. Отвечаем в течение двух часов в рабочее время.