Повідомлення приходить у незручний момент: «сайт не працює». У вас є кілька хвилин, перш ніж запитання зміниться з «що сталося» на «чому ніхто не помітив». Ось порядок, у якому працюємо ми. Він написаний для тих, хто доглядає за кількома сайтами й не може дозволити собі імпровізувати.
Усе вкладається в п’ятнадцять хвилин, якщо стримати бажання щось полагодити, доки ви не знаєте, який саме рівень зламано.
Хвилини 0–2: підтвердьте збій
Перш ніж чіпати будь-що, переконайтеся, що сайт недоступний і для інших людей, а не лише для того, хто повідомив про проблему.
- Відкрийте його на телефоні з вимкненим Wi-Fi. Якщо сторінка завантажується, проблема в мережі автора повідомлення, застарілому кеші DNS або розширенні браузера.
- Скористайтеся чекером, який не в вашій мережі. Безкоштовний інструмент «Чи працює сайт» запитує URL з нашого чекера й показує код відповіді та час відповіді, що розповідає більше, ніж «не відкривається».
- З терміналу отримайте код відповіді й час:
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. З вашого боку жодних дій не потрібно.
Оновіть повідомлення, коли з’явиться причина, і ще раз, коли все виправлено: що сталося, скільки тривало, що ви змінили. Якщо в клієнта є сторінка статусу, оновіть її, щоб він перестав питати.
Потім запишіть для себе чотири рядки: час початку, час виявлення, час виправлення, причина. Вони стануть записом про інцидент у щомісячному звіті, а проміжок між «почалося» і «виявлено» — це число, яке вирішує, чи потрібен вам кращий моніторинг.
Подбайте, щоб наступного разу дізнатися першим
Збій, про який ви дізналися від клієнта, — це прогалина в моніторингу. Мінімальне налаштування:
- Перевірка HTTP головної сторінки щохвилини з перевіркою ключового слова — фрази, яка з’являється лише коли сторінка відображається правильно.
- Перевірка сторінки, що приносить гроші (оформлення замовлення, бронювання, форма зв’язку).
- Перевірки терміну дії SSL і домену, які сповіщають до дати, а не після.
- Канал сповіщень, який ви читаєте вночі. E-mail працює на кожному тарифі. Telegram із кнопкою підтвердження отримання одним дотиком потребує платного тарифу.
- Друга перевірка перед надсиланням сповіщення, щоб один загублений пакет вас не будив.
У 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
- Моніторинг сайту
- Безкоштовний інструмент «Чи працює сайт»
- Tenium проти UptimeRobot
- Усі матеріали блогу
- Тарифи
Відстежуйте перший сайт безкоштовно
30 моніторів безкоштовно, перевірки з 2 регіонів, без банківської картки. Перевірка SSL і терміну дії домену — від $7 на місяць.