Переходите з UptimeRobot? Імпортуйте монітори одним кліком за ключем API лише для читання.Почати безкоштовно →
  1. Головна
  2. Блог
  3. Посібники

Сайт не працює: що робити за перші 15 хвилин

Чек-лист на першу чверть години збою: підтвердьте його, знайдіть зламаний рівень п’ятьма командами, усуньте причину, повідомте клієнта й налаштуйте моніторинг.

Посібники

Повідомлення приходить у незручний момент: «сайт не працює». У вас є кілька хвилин, перш ніж запитання зміниться з «що сталося» на «чому ніхто не помітив». Ось порядок, у якому працюємо ми. Він написаний для тих, хто доглядає за кількома сайтами й не може дозволити собі імпровізувати.

Усе вкладається в п’ятнадцять хвилин, якщо стримати бажання щось полагодити, доки ви не знаєте, який саме рівень зламано.

Перші 15 хвилин збою Часова шкала з чотирьох етапів. Хвилини 0–2: підтвердити збій. Хвилини 2–6: знайти зламаний рівень. Хвилини 6–12: усунути причину. Хвилини 12–15: повідомити клієнта й записати подробиці. 0 хв2 хв6 хв12 хв15 хв 1. ПідтвердитиЧи недоступнийвін для всіх? 2. ЗнайтиDNS, TLS, HTTP,сервер, застосунок 3. ВиправитиСпершу скасуйтеостанню зміну 4. ПовідомитиЛист клієнтові,нотатки про хід
Не пропускайте другий етап. Найбільше часу під час збою витрачають, виправляючи не той рівень.

Хвилини 0–2: підтвердьте збій

Перш ніж чіпати будь-що, переконайтеся, що сайт недоступний і для інших людей, а не лише для того, хто повідомив про проблему.

  1. Відкрийте його на телефоні з вимкненим Wi-Fi. Якщо сторінка завантажується, проблема в мережі автора повідомлення, застарілому кеші DNS або розширенні браузера.
  2. Скористайтеся чекером, який не в вашій мережі. Безкоштовний інструмент «Чи працює сайт» запитує URL з нашого чекера й показує код відповіді та час відповіді, що розповідає більше, ніж «не відкривається».
  3. З терміналу отримайте код відповіді й час:
curl -sS -o /dev/null -w '%{http_code}  total %{time_total}s  connect %{time_connect}s\n' https://example.com

000 означає, що з’єднання так і не встановилося (DNS, брандмауер або сервер вимкнений). Число означає, що сервер відповів, і саме воно підказує, де шукати; довідник кодів відповіді HTTP пояснює кожен простою мовою.

Поставте собі ще одне запитання, перш ніж іти далі: що змінювалося за останню годину? Розгортання, оновлення плагіна чи теми, правка DNS, правило брандмауера чи Cloudflare, перезавантаження сервера, оновлений або прострочений сертифікат. Більшість збоїв настає після якоїсь зміни, а скасування зміни зазвичай найшвидше виправлення.

Хвилини 2–6: знайдіть зламаний рівень

Рухайтеся ззовні досередини. Кожна команда виключає один рівень.

DNS. Чи розпізнається ім’я і чи вказує воно на очікувану адресу?

dig +short example.com
dig +short NS example.com

Відсутність відповіді або незнайома адреса означає проблему з DNS або прострочений домен. Швидка перевірка дати реєстрації вартує десяти хвилин здогадів: скористайтеся інструментом перевірки терміну дії домену.

TLS. Чи чинний сертифікат просто зараз?

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

notAfter у минулому означає прострочений сертифікат. Перевірка SSL показує те саме разом із ланцюжком, а допис про те, що робити з простроченим сертифікатом, описує відновлення.

HTTP. Що відповідає сервер? Скористайтеся таблицею нижче.

Що ви бачитеЩо це зазвичай означаєПерший крок
Відмова у з’єднанні або таймаут (000)Сервер вимкнений, брандмауер, хибний IPПеревірте сторінку статусу хостингу, потім сервер
502, 504Проксі не бачить застосунок або застосунок надто повільнийПерезапустіть процес застосунку, прочитайте його журнал
503Застосунок перевантажений або на обслуговуванніПеревірте CPU, пам’ять і прапорець обслуговування
500Помилка застосункуПрочитайте журнали помилок застосунку й вебсервера
521, 522, 523, 524 (Cloudflare)Cloudflare не може достукатися до вашого сервераПеревірте сервер напряму, а також його брандмауер
403Блокує WAF, плагін безпеки або правилоПодивіться останню зміну брандмауера чи плагіна
200, але сторінка хибнаСторінка помилки бази даних, порожній шаблон, закешоване сміттяВідкрийте сторінку й прочитайте її

Сервер. Якщо ви можете увійти, три команди покривають більшість причин:

df -h            # full disk is a classic
free -m          # out of memory, swapping
systemctl status nginx php8.3-fpm   # or apache2, your app service
tail -n 100 /var/log/nginx/error.log

Застосунок. Біла сторінка або 500 одразу після розгортання вказують на код. Для WordPress перейменуйте каталог плагінів через SFTP, щоб одним кроком виключити плагіни; посібник із моніторингу WordPress перелічує типових винуватців.

Хвилини 6–12: усуньте причину, починаючи з найменшої зміни

Оберіть найдешевшу дію, що скасовує найімовірнішу причину, і робіть по одній речі, щоб знати, що спрацювало.

  • Розгортання: відкотіться до попереднього випуску, перш ніж налагоджувати вперед.
  • Оновлення плагіна чи теми: вимкніть останній оновлений плагін.
  • Повний диск: очистьте старі журнали й резервні копії, потім знайдіть те, що його заповнює.
  • Аварійно зупинений процес: перезапустіть його, потім прочитайте, чому він упав. Перезапуск без читання журналу — це збій, що повториться о 3-й ночі.
  • Прострочений сертифікат чи домен: спершу продовжіть, а про те, чия це була робота, розбиратиметеся потім.
  • Зміна DNS: поверніть старий запис; поширення триває стільки, скільки дозволяє TTL.
  • Сплеск трафіку: якщо сервер просто перевантажений, увімкніть кеш або поставте сайт за CDN, а масштабуйте вже після інциденту.

Якщо за дванадцять хвилин нічого не спрацювало, зупиніться й залучіть хостинг або людину, яка зробила останню зміну. П’ятнадцять хвилин самостійного налагодження виправдані; шістнадцята — це зазвичай розмова, яку слід було почати раніше.

Хвилини 12–15: повідомте клієнта й запишіть подробиці

Надішліть це, ще не знаючи остаточної причини:

Ми знаємо, що сайт недоступний з 14:07. Ми працюємо над цим і повідомимо вас до 14:45. З вашого боку жодних дій не потрібно.

Оновіть повідомлення, коли з’явиться причина, і ще раз, коли все виправлено: що сталося, скільки тривало, що ви змінили. Якщо в клієнта є сторінка статусу, оновіть її, щоб він перестав питати.

Потім запишіть для себе чотири рядки: час початку, час виявлення, час виправлення, причина. Вони стануть записом про інцидент у щомісячному звіті, а проміжок між «почалося» і «виявлено» — це число, яке вирішує, чи потрібен вам кращий моніторинг.

Подбайте, щоб наступного разу дізнатися першим

Збій, про який ви дізналися від клієнта, — це прогалина в моніторингу. Мінімальне налаштування:

  1. Перевірка HTTP головної сторінки щохвилини з перевіркою ключового слова — фрази, яка з’являється лише коли сторінка відображається правильно.
  2. Перевірка сторінки, що приносить гроші (оформлення замовлення, бронювання, форма зв’язку).
  3. Перевірки терміну дії SSL і домену, які сповіщають до дати, а не після.
  4. Канал сповіщень, який ви читаєте вночі. E-mail працює на кожному тарифі. Telegram із кнопкою підтвердження отримання одним дотиком потребує платного тарифу.
  5. Друга перевірка перед надсиланням сповіщення, щоб один загублений пакет вас не будив.

У Tenium 30 моніторів із перевірками кожні 5 хв — безкоштовно; Starter ($7) перевіряє кожні 1 хв і додає сповіщення в Telegram, перевірки терміну дії SSL і домену. Сторінка моніторингу сайту описує перевірки, а порівняння Tenium з UptimeRobot показує, як співвідносяться тарифи, якщо ви вже користуєтеся іншим інструментом.

Короткий чек-лист на пам’ять

  • Підтвердьте з другої мережі та чекером
  • Спитайте, що змінювалося за останню годину
  • curl — код і час; dig — ім’я
  • Дати сертифіката й домену
  • Диск, пам’ять, процес, журнал помилок
  • Скасуйте останню зміну
  • Повідомте клієнта протягом 15 хвилин
  • Запишіть початок, виявлення, виправлення, причину

Поширені запитання

Як зрозуміти, що сайт не працює для всіх, а не лише для мене?

Відкрийте його через мобільний інтернет, а потім перевірте з сервера, який не в вашій мережі. Безкоштовний інструмент, як-от сторінка Tenium «Чи працює сайт», запитує сайт зі свого чекера й показує код відповіді та час відповіді. Якщо чекер отримує нормальну відповідь, а ви ні, проблема в вашій мережі, кеші DNS або браузері, а не в сайті.

Яка найчастіша причина того, що сайт перестає працювати?

Зміна, зроблена незадовго до цього: розгортання, оновлення плагіна чи теми, правка DNS, правило брандмауера або прострочений сертифікат чи домен. Перш ніж шукати деінде, спитайте, що змінювалося за останню годину.

Чи казати клієнтові до того, як я знаю причину?

Так, стисло. Повідомлення з двох рядків — що ви знаєте про проблему, працюєте над нею й повідомите про хід за 30 хвилин — краще за мовчання. Не вгадуйте причину письмово, доки не підтвердите її.

Як дізнаватися про простій раніше за клієнта?

Налаштуйте зовнішній монітор, який перевіряє сайт щохвилини й сповіщає вас на e-mail або в Telegram. На тарифі Free ви отримуєте 30 моніторів із перевірками кожні 5 хв; Starter ($7) перевіряє кожні 1 хв і додає сповіщення в Telegram.


Читайте також

Пов’язані сторінки Tenium

Відстежуйте перший сайт безкоштовно

30 моніторів безкоштовно, перевірки з 2 регіонів, без банківської картки. Перевірка SSL і терміну дії домену — від $7 на місяць.