Моніторинг хостингу: як дізнатись про проблеми раніше, ніж ваші клієнти
О третій ночі ваш сервер тихо помирає. Без драми, без попереджень - просто перестає відповідати. Ви спите. Ваші клієнти бачать білий екран і йдуть до конкурентів. Вранці ви відкриваєте пошту: три скарги, один негативний відгук на Google і мовчазна аналітика, що показує провал у графіку відвідувань. Знайомо? Якщо ні - або вам неймовірно щастить, або ви просто ще не помітили. Моніторинг хостингу - це та річ, яку всі вважають зайвою, поки вона не стає критичною. Як вогнегасник, який ніколи не потрібен. До першої пожежі.
Чому "сервер працює" - це не моніторинг
Більшість власників сайтів перевіряють свій хостинг одним способом: відкривають головну сторінку в браузері. Завантажилась? Чудово, все працює. Але це приблизно як перевіряти здоров'я, дивлячись у дзеркало. Виглядаєш нормально - значить здоровий. Абсурд? Так, але саме так поводяться 80% адміністраторів сайтів.
Справжній моніторинг - це безперервна перевірка десятків параметрів: час відповіді сервера, навантаження на CPU, вільна оперативна пам'ять, місце на диску, стан SSL-сертифіката, доступність бази даних, швидкість DNS-резолвінгу. Кожен з цих параметрів може "вбити" ваш сайт, навіть якщо головна сторінка ще якось відкривається.
Ось конкретний приклад. Інтернет-магазин на WooCommerce. Головна сторінка кешована, летить як ракета. А сторінка оформлення замовлення - динамічна, лізе в базу даних. MySQL з'їв 95% оперативки, і саме ця сторінка вантажиться 12 секунд. Клієнт додав товар у кошик, натиснув "Оформити"... і пішов. Назавжди. Без моніторингу ви б дізнались про це через тиждень, аналізуючи конверсію.

Що саме варто моніторити і з якою частотою
Не всі метрики однаково важливі. Деякі треба перевіряти щохвилини, інші - раз на годину. Ось чіткий розподіл:
| Параметр | Частота перевірки | Критичність | Що загрожує при ігноруванні |
|---|---|---|---|
| HTTP-доступність (uptime) | Кожні 30-60 секунд | Критична | Повна втрата відвідувачів |
| Час відповіді сервера (TTFB) | Кожні 1-5 хвилин | Висока | Падіння позицій у Google |
| Використання CPU | Кожні 1-5 хвилин | Висока | Зависання, 503 помилки |
| Вільна RAM | Кожні 5 хвилин | Висока | OOM Killer вб'є процеси |
| Місце на диску | Кожні 15-30 хвилин | Середня | Зупинка запису логів і БД |
| Термін SSL-сертифіката | Раз на добу | Середня | Попередження браузера, втрата довіри |
| Стан бекапів | Раз на добу | Висока | Втрата даних при збої |
| Blacklist-перевірка IP | Раз на добу | Середня | Листи йдуть у спам |
Зверніть увагу на рядок про диск. Здається, 15 хвилин - це занадто рідко? Ні. Диск не закінчується за секунду (якщо тільки хтось не заливає на сервер повний дамп бази кожні 30 секунд). А от CPU може стрибнути до 100% миттєво - наприклад, якщо прийшов бот і почав сканувати всі сторінки одночасно.
8 інструментів, які реально працюють
Ринок моніторингу - це сотні сервісів. Більшість з них або перевантажені функціями, або занадто примітивні. Я відібрав ті, якими користуюсь сам або рекомендую клієнтам без жодного сорому.
- UptimeRobot - безкоштовний план на 50 моніторів з перевіркою кожні 5 хвилин. Для малого бізнесу - ідеально. Сповіщення через email, Telegram, Slack.
- Hetrixtools - 15 безкоштовних uptime-моніторів плюс blacklist-моніторинг IP. Дуже недооцінений сервіс.
- Netdata - open-source агент, який встановлюється на сервер і показує сотні метрик у реальному часі. Красиві дашборди, нульова ціна.
- Zabbix - важка артилерія для тих, хто має кілька серверів. Складний у налаштуванні, але потужний як танк.
- Grafana + Prometheus - зв'язка для тих, хто хоче гнучкі графіки і кастомні алерти. Стандарт у DevOps-спільноті.
- StatusCake - британський сервіс з безкоштовним планом. Перевіряє uptime, швидкість, SSL. Має page speed тести.
- Better Stack (колишній Better Uptime) - красива сторінка статусу "з коробки", інтеграція з PagerDuty, on-call розклади.
- Monit - легкий демон для Linux-серверів. Перезапускає впавші сервіси автоматично. Працює як вірний пес - тихо, але надійно.
"Моніторинг без оповіщень - це просто графіки для краси. Моніторинг без автоматичного реагування - це просто оповіщення, які ви проігноруєте. Справжня цінність з'являється тоді, коли система сама виправляє проблему до того, як ви прочитали алерт." - Rob Ewaschuk, інженер Google, автор "My Philosophy on Alerting"

Як налаштувати моніторинг за 30 хвилин без DevOps-досвіду
Звучить як маркетингова обіцянка? Ні, це реальність. Ось мінімальний набір, який закриє 90% потреб звичайного сайту:
- Крок 1: Зареєструйтесь в UptimeRobot, додайте URL вашого сайту. Виберіть HTTP(s) монітор, інтервал - 5 хвилин. Підключіть Telegram-бота для сповіщень. Це 5 хвилин.
- Крок 2: Додайте другий монітор - keyword monitor. Він перевіряє, чи є на сторінці конкретне слово (наприклад, назву вашої компанії). Якщо сервер повертає 200 OK, але сторінка порожня - звичайний uptime-монітор цього не побачить.
- Крок 3: Якщо маєте VPS - встановіть Netdata однією командою: bash <(curl -Ss https://my-netdata.io/kickstart.sh). Через 2 хвилини у вас буде панель з усіма метриками сервера.
- Крок 4: Налаштуйте алерт на SSL-сертифікат. В UptimeRobot це окремий тип монітора. Він попередить за 30 днів до закінчення терміну.
- Крок 5: Додайте cron-завдання на сервері, яке перевіряє вільне місце на диску і надсилає email, якщо залишилось менше 10%. П'ять рядків bash-скрипта - і ви захищені від "раптово закінчився диск".
30 хвилин. Безкоштовно. І ви вже знаєте про свій сервер більше, ніж 95% ваших конкурентів.
Алерти: тонка межа між корисністю і божевіллям
Знаєте, що гірше за відсутність моніторингу? Моніторинг з 50 алертами на день. Через тиждень ви почнете ігнорувати всі сповіщення. Через місяць - вимкнете їх. Це називається alert fatigue, і це реальна проблема навіть у великих компаніях.
Як цього уникнути? Три прості правила:
- Розділяйте критичні та інформаційні алерти. Сайт впав - це Telegram і SMS одночасно. CPU тримається на 80% вже 10 хвилин - це тихий email.
- Використовуйте пороги з затримкою. Не слати алерт, якщо CPU стрибнув до 95% на 3 секунди. Слати, якщо тримається більше 5 хвилин. Короткі піки - це нормально.
- Переглядайте правила щомісяця. Видаляйте алерти, на які жодного разу не реагували. Якщо алерт не потребує дії - він не потрібен.
Золоте правило: кожен алерт повинен вимагати конкретної дії. Якщо ви отримали сповіщення і не знаєте, що з ним робити - це поганий алерт.

Сторінка статусу: прозорість, яка будує довіру
Є ще один інструмент, про який забувають майже всі. Публічна сторінка статусу. Подивіться на будь-який серйозний SaaS-продукт: у Slack, GitHub, Cloudflare, Notion - у всіх є status page. Це не просто красива табличка. Це комунікація з клієнтами.
Коли ваш сайт лежить, клієнт хоче знати одне: ви в курсі чи ні? Якщо є сторінка статусу з повідомленням "Виявлено проблему, працюємо над вирішенням" - клієнт заспокоюється. Якщо нічого немає - він панікує і пише в підтримку, створюючи вам додаткове навантаження посеред кризи.
Better Stack, Instatus, Cachet (self-hosted) - будь-який з цих інструментів дозволить зробити публічну сторінку статусу за 15 хвилин. Деякі хостинг-провайдери вже мають вбудовану функцію. Запитайте у свого.
До речі, сторінка статусу корисна і для SEO. Google бачить, що ви відповідально ставитесь до доступності. Це не прямий фактор ранжування, але побічно впливає через поведінкові метрики - якщо клієнт не тікає з вашого сайту в паніці, показники залученості ростуть.
Що робити прямо зараз
Не завтра. Не наступного тижня. Прямо зараз, поки ви дочитали до цього місця і мотивація ще жива. Відкрийте нову вкладку. Зареєструйтесь в UptimeRobot або StatusCake. Додайте свій сайт. Підключіть Telegram-сповіщення. Це буквально 5 хвилин.
А тепер головне питання, яке я задаю кожному клієнту: скільки годин простою ваш сайт мав за останні 3 місяці? Якщо ви не можете відповісти з точністю до хвилини - у вас немає моніторингу. У вас є ілюзія контролю. І одного ранку ця ілюзія коштуватиме вам дуже дорого.