О Обходчик
← Блог

Сайт упал: как узнать об этом раньше клиента

Чинить упавший сайт обычно недолго. Долго — узнать, что он упал. Разбираем, как сократить именно эту часть аварии.

Руслан Хуснутдинов, основатель Обходчика около 5 мин чтения

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

Время аварии почти всегда делится именно так: чинить недолго, долго — узнать. И сокращать имеет смысл вторую часть, а не первую.

Почему о падении узнают последними

Тот, кто отвечает за сайт, смотрит на него реже всех. Посетитель открывает сайт, когда ему что-то нужно; менеджер клиента — каждый день по работе; разработчик — когда есть задача. Если сайт работает годами, у него нет причины заходить туда просто так.

Отсюда обычная цепочка: сайт падает, посетитель уходит молча, менеджер клиента замечает через несколько часов, звонит, и только тогда за сайт берётся человек, который может его починить. Каждое звено добавляет задержку, и ни одно из них не обязано сообщать об аварии быстро.

Как проверить прямо сейчас

Если есть подозрение, что сайт лежит, первым делом нужно ответить на вопрос: он лежит у всех или только у вас.

Откройте сайт с другого устройства и через мобильный интернет. Если с телефона без Wi-Fi сайт открывается, дело в вашей сети, провайдере или настройках, а не в сайте.

Проверьте снаружи. Онлайн-проверка доступности отправляет запрос со своего сервера и показывает, что вернул сайт: код ответа и время. Код 200 означает, что веб-сервер жив; 500, 502, 503 и 504 — авария на стороне сервера; отсутствие ответа вовсе — сервер выключен, не отвечает DNS или истёк срок домена.

Посмотрите, что именно вернулось. Код 200 ещё не значит, что сайт работает: заглушка хостинга, пустой шаблон и страница с ошибкой PHP тоже часто отвечают двухсотым кодом. Если проверка говорит «всё хорошо», а сайт у людей выглядит сломанным, дело уже не в доступности.

Как узнавать раньше клиента

Ручная проверка отвечает на вопрос «работает ли сайт сейчас». Чтобы узнавать о падении в момент падения, этот вопрос кто-то должен задавать постоянно. Этим и занимается мониторинг доступности: он проверяет сайт раз в несколько минут и присылает сообщение, когда тот перестал отвечать и когда ответил снова.

Выбирая, как это устроить, стоит смотреть на четыре вещи.

Как часто идёт проверка

Интервал — это максимальная задержка, с которой вы узнаете о падении. Проверка раз в час означает, что сайт может пролежать пятьдесят девять минут, прежде чем вы что-то узнаете. Для обычного сайта компании пять минут — разумный предел, для интернет-магазина с рекламой, где каждая минута простоя стоит денег, — одна.

Куда приходит сообщение

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

Правило простое: сообщение об аварии должно приходить туда, куда вы смотрите чаще всего, а не туда, где удобно хранить.

Как отличается падение от сбоя сети

Интернет между сервером мониторинга и вашим сайтом тоже иногда сбоит. Если мониторинг будит вас из-за каждой потерянной пачки пакетов, через неделю сообщения начинают игнорировать — и настоящую аварию пропускают вместе с ложными.

Хороший мониторинг прежде чем объявить сайт упавшим повторяет запрос несколько раз и по возможности перепроверяет из другой точки. Если из второй точки сайт отвечает, это проблема маршрута, а не сайта, и будить ради неё никого не нужно.

Что проверяется кроме кода ответа

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

Что делать, когда пришло сообщение

  1. Проверьте сами. Откройте сайт и убедитесь, что сообщение не ложное. Если открывается у вас, но не у мониторинга, посмотрите, не блокирует ли защита хостинга запросы от серверов.
  2. Посмотрите на код ответа. 502 и 504 — обычно приложение не отвечает веб-серверу, 503 — перегрузка или режим обслуживания, 500 — ошибка в коде, отсутствие соединения — сервер, DNS или домен.
  3. Напишите клиенту первыми. Сообщение «сайт недоступен с 02:10, уже разбираемся» стоит одну минуту и меняет весь разговор: вы не оправдываетесь, а сообщаете.
  4. После восстановления запишите причину. Одна строка: что упало, почему, что сделано. Через полгода по этим строкам видно, какой сбой повторяется и где стоит поменять хостинг, а не чинить снова.

Главное

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

Проверить у себя

Бесплатно и без регистрации, по одному домену.

← Другие разборы в блоге