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

Сайты падают по будничным причинам: закончился SSL-сертификат, вовремя не оплачен хостинг или домен, обновление на сервере сломало совместимость, после перезагрузки поднялись не все сервисы или сайт упёрся в лимит внешнего сервиса. Узнать об этом раньше клиентов можно одним способом — автоматическим мониторингом, который проверяет сайт чаще, чем туда заходят посетители.
Из-за чего сайты падают чаще всего?
По нашей практике большинство падений — это не хакеры и не пожары в дата-центрах. Атаки тоже случаются, но у малого бизнеса всё обычно прозаичнее: пять будничных сценариев.
Просроченный SSL-сертификат выглядит так: однажды утром браузер вместо сайта показывает посетителям красную страницу «Подключение не защищено». Большинство людей сразу закрывает вкладку. Сайт формально жив, реклама крутится, переходы идут — а заявок ноль. Сертификат годами продлевается автоматически, пока однажды автоматика не даёт сбой, и тогда всё зависит от того, заметит ли это кто-нибудь раньше посетителей. Владелец обычно узнаёт последним, когда кто-то из знакомых решится спросить, почему сайт «сломался».
Неоплаченный хостинг или домен — вторая классика. Письмо с напоминанием утонуло в почте, карта не сработала, и хостер выключил сайт. В лучшем случае всё возвращается после оплаты. В худшем — данные уже удалены, и восстанавливать не из чего. С доменом отдельная беда: просроченный домен со временем уходит в свободную продажу.
Обновления системы на сервере владелец вообще не контролирует. Хостер обновил ПО — и часть сайта перестала работать из-за несовместимости: на отдельных страницах появилась ошибка, хотя сам сайт никто не трогал месяцами.
Перезагрузка сервера — плановая или из-за сбоя — тоже не всегда проходит бесследно. Сервер поднялся, а отдельный сервис, например база данных, нет, потому что его в своё время не добавили в автозапуск. Снаружи это выглядит коварно: главная страница открывается, а форма молчит. Такая поломка может жить неделями, потому что пока кто-то не попробует отправить заявку, никто ничего не замечает.
Пятая причина — лимиты внешних сервисов. Сайт опирается на сторонние сервисы вроде платёжной системы или карт. У каждого есть лимиты, и пока трафика мало, их не видно. В день пика сервис перестаёт отвечать и утягивает за собой часть сайта — ровно тогда, когда посетителей больше всего.
| Причина | Что видит посетитель | Как заметить раньше него |
|---|---|---|
| Просроченный SSL | Красное предупреждение браузера | Ежедневная проверка срока сертификата |
| Неоплаченный хостинг или домен | Сайт не открывается вообще | Ежедневный контроль срока домена и оплат |
| Обновление на сервере | Ошибки на части страниц | Проверка доступности каждый час |
| Сервер перезагрузился | Сайт «вроде работает», но форма молчит | Ежедневная проверка формы заявок |
| Лимит внешнего сервиса | Всё тормозит или часть функций отказывает | Проверка доступности каждый час и алерт в Telegram |
Самый дорогой «работающий» сайт
Эту историю нам пересказали коллеги, и сразу честно: программист в ней не наш. Блогерша сняла рилс со ссылкой на свой лендинг — тот продавал доступ в закрытый Telegram-канал. Видео завирусилось на миллионы просмотров, и на сайт пришло 50 000 посетителей. Оплат — ноль. Ни первый, ни сотый человек не смог заплатить, потому что программист забыл переключить платёжную систему из тестового режима в боевой. Сайт открывался быстро, страница оплаты выглядела исправной, и мониторинг доступности всё это время показывал бы зелёный статус. По всем техническим признакам сайт «работал» — он просто молча не принимал деньги в лучший день своего существования. Такой трафик не повторяется по заказу: второго вирусного видео может и не быть. Поэтому проверка «открывается ли сайт» — только половина дела; вторую половину закрывает проверка критического пути, по которому приходят деньги или заявки. В нашем мониторинге форма заявок поэтому проверяется отдельно, раз в сутки.
Что поймал наш мониторинг за последний месяц?
Под наблюдением у нас сейчас 20+ сайтов. За последний месяц мониторинг поймал 3 инцидента, и все три — на наших собственных экспериментальных сайтах, где мы обкатываем новые решения; клиентские сайты прожили месяц спокойно.
Типичный пример: на одном из экспериментальных сайтов выросла нагрузка на сервер и просела скорость. Алерт пришёл в Telegram, мы добавили серверу мощностей, на этом инцидент закончился. Ничего героического — в этом и суть: проблема, о которой узнаёшь рано, остаётся мелкой. Случись тот же всплеск на клиентском сайте, сценарий был бы тем же, и владелец узнал бы об инциденте из нашего сообщения, а не из простоя.
А вот случай, который не поймал бы никакой мониторинг. Клиент опубликовал на сайте номер телефона с ошибкой. Технически всё работало: страницы открывались, форма отправляла заявки. Только звонков не было. Ошибку нашла внимательность, а не автоматика. Вывод, которым мы пользуемся до сих пор: «сайт работает» и «сайт приносит» — это две разные проверки, и полностью автоматизировать можно только первую.
Как узнавать о падениях раньше клиентов?
Механика нашего мониторинга простая. Доступность сайта проверяется каждый час. SSL-сертификат, срок домена и форма заявок — раз в сутки. Когда проверка проваливается, алерт сразу приходит нам в Telegram. Мониторинг работает круглосуточно, а реагируем мы в рабочие часы, Пн–Пт с 09:00 до 19:00 по Киеву — в среднем ответ занимает ~30 минут.
Если автоматического мониторинга нет, минимальная ручная альтернатива такая: раз в неделю открыть сайт в режиме инкогнито с телефона, отправить себе тестовую заявку через форму и посмотреть в календаре, когда истекают оплаты домена и хостинга. Это намного хуже проверки каждый час, но несравнимо лучше, чем узнавать о падениях от клиентов.
Для сайтов на подписке pageever мониторинг уже включён даже в Базовый тариф за €10/мес или €96/год. Если же сайт живёт на своём хостинге и переезжать не собирается, есть отдельная услуга — мониторинг чужих сайтов за €50/год: переносить ничего не нужно, мы просто ставим сайт под наблюдение.
За последний месяц все 3 инцидента мы увидели в алертах в Telegram, а не узнали из звонков клиентов.
Расскажите, что нужно
Анализ задачи и оценка — бесплатно. Отвечаем в течение двух часов в рабочее время.