Моніторинг хостингу: як ловити проблеми до того, як ваш сайт впаде на колінах
Ви знаєте той момент, коли ваш інтернет-магазин починає гальмувати - не критично, просто немножко, на кілька секунд. Ви думаєте: "Мабуть, трафік підскочив". Через день те саме. Через тиждень - це вже система. А ваш провайдер у відповідь: "Все нормально, беремо тільки стандартну навантаженість". Ось тут і починається цікава історія про те, чому змотати проблему можна за кілька хвилин, якщо знаєш, на що дивитися.
Моніторинг хостингу - це не прерогатива великих корпорацій з вугіллям в печі та смаком коней. Це ваша страховка від здивування у найгірший момент. Того, коли замовлення зникають в чорну дірку, і ви сидите зі слухавкою у вусі, очікуючи техпідтримки, які "скоро перезавантажать сервер".
Що саме ховається за цифрами на графіках
Коли ви логінитесь у панель управління хостингом, ви бачите графіки. Загальновживаних лічильників. Вони показують CPU, пам'ять, трафік. Але здавалися б невинні цифри розповідають цілу детективну історію про те, що насправді робиться з вашим сайтом.
CPU - це не просто відсоток від якихось абстрактних 100%. Це буквально скільки часу процесор витрачає на ваш сайт. Якщо ви бачите, що CPU скачув з 15% на 87% о 3 ночі - це не природний коливання. Це сигнал SOS. Може бути, до вас прилетіли боти, намагаючись перебрати пароль. Або якийсь плагін WordPress почав робити щогодинний backup прямо під час піку трафіку. Або хтось запустив крейпер даних вашого каталогу.
Пам'ять - це скарб. 512 МБ, 1 ГБ, 2 ГБ. На папері виглядає достатньо. На практиці - залежить від того, як ваш сайт їх їсть. WordPress з 47 плагінами і кастомним кодом від розробника, який писав на волатильності, може пожерти всю пам'ять за 20 хвилин піку.
Трафік - то частина прямої. Якщо ви платите за 100 ГБ на місяць, а насправді витрачаєте 97 ГБ - все добре. Але якщо раптом у вас з'явилася спайк на 150 ГБ на одну добу - це питання, чому це сталося, а не факт що це було запланованою рекламною кампанією.

Сім червоних прапорців, які кричать "Спас!" прямо у ваше обличчя
- Час відповіді сервера вище 2 секунд - користувачі вже мають подумку, чи не зломався їхній компuter. Нормально - це 200-500 мс. Якщо побачили стабільно більше за секунду - гарячо.
- CPU або пам'ять регулярно заходять на 90%+ - система коле. О якій якості послуги можна говорити, якщо сервер на межі колапсу? Це як їхати на машині з бензином на резервуару кожен день.
- Зміни в кількості помилок 404, 500, 502 - якщо вчора було 3 помилки 500 за день, а сьогодні раптом 350 - це не випадковість, це тренд. Щось пішло крах.
- Раптові стрибки трафіку без видимої причини - ви не запускали промо, але трафік виріс в 5 разів. Добре? Або якесь DDoS-нападу почалося? Хак? Крейпер?
- Час завантаження сторінки почав ростити дні в день - кіт не придбав іще килька кг часу. Це значить, щось навколо сайту деградує.
- Бази даних зависають на запитах - якщо MySQL запит крутиться 30 секунд замість звичних 100 мс - ось і причина гальмування. Індекс потребує оптимізації, або таблиця розбухла в розміри.
- Дисковий простір наповнюється звичайної швидкістю - якщо вчора було 60% займаних, а сьогодні 78%, а ви нічого не завантажували - де розповзаються дані? Логи? Невидалені резервні копії? Кеш якогось плагіну?
Інструменти, що варті вашої уваги більше ніж чашка кави
Давайте буде чесні - вбудовані графіки в панелі хостингу це як дивитися на дорогу через шпаринку. Ви бачите щось, але не всю картину. Тому розумні люди давно почали користуватися зовнішніми моніторингами.
| Інструмент | Що вміє | Ціна (місячна) | Для кого |
|---|---|---|---|
| Uptime Robot | Моніторить доступність сайту, сповіщає про падіння | Безплатно - $99 | Всі. Мініма, але дієво. |
| New Relic | Performance, базі даних, errors - повна аналітика | $99+ | Серйозні проєкти, E-commerce |
| Datadog | Хмарний моніторинг, інтеграція з сотнями сервісів | $15+ | Середні компанії, хмарна інфра |
| Grafana | Власні дашборди, гнучкість, відкритий код | Безплатно | Розробники, які люблять контроль |
| Sentry | Ловить помилки в коді вашого сайту реалтайм | Безплатно - $99 | Веб-розробники, стартапи |
Кожен з цих інструментів розповідає свою частину історії. Uptime Robot скаже вам "твій сайт був недоступний 45 хвилин". New Relic розповість "та тоді у базі даних полетіло 1000 запитів в секунду і все пішло крахом". Sentry покаже точний рядок коду, який спровокував помилку.
Головна фішка - це не окремо моніторинг. Це комбінація інструментів, яка дає вам повну ясність. Як дістати картину з паззлів, коли кожен паззл це кусок інформації.

Алармінування: як вийти з матриці сповіщень
Ви отримуєте 50 email за день про те, що CPU було 85% на 3 хвилини. Потім 48 листів про те, що все нормально. На 49-му листі, коли насправді сайт падає - ви уже не читаєте, вви його видалили разом з попередніми.
Це називається alarm fatigue. Вона вбиває безпеку. Тому розумні люди настроюють алерти розумно:
- CPU вище 85% не менше 5 хвилин - це сигнал. Але не один пік на хвилину.
- Час відповіді сервера вище 3 секунд - тільки якщо це відбувається послідовно, не разові коливання.
- Сайт недоступний - це ЗАВЖДИ crítico. Миттєво. Без фільтрів.
- Помилки 5xx це вже проблема, коли їх більше 20 за час.
І найголовніше - алерти мають бути в місцях, де ви їх точно побачите. Не email. Email - це як писати листа поштою в 1990-х. Це slack-повідомлення, SMS, пуш-сповіщення в Telegram, біль в животі - щоось, що вас розбудить о 3 ночі і скаже: "хей, дивись сюди".
Логи як детективна справа: читаємо, що пише хостинг
На хостингу зберігаються логи. Помилки веб-сервера, доступи, помилки PHP, помилки базі даних. Ці логи - це як записи в щоденнику хостингу про те, що він робив протягом дня.
"Проблема, яку ви не можете відтворити, це проблема, яку ви не розглядали" - классичний вислів в IT. І логи це єдине місце, де можливість відтворити неможливо - але деталь можна завжди знайти.
Наприклад, ви бачите, що сайт гальмував о 14:32. Но ви тоді не робили нічого особливого. Але якщо ви пірнете в логи - ви знайдете 10000 помилок PHP про те, що якийсь плагін намагався підключитись до API, яка впала о 14:30. Система переживала та кожен запит блокувався на 5 секунд, очікуючи відповіді.
Без перегляду логів - це залишилося б таємницею. З ними - це стає діагнозом.
Як автоматизувати те, що вас та мучить щоденно
Давайте буде реалісти - ви не будете кожен день логінитися в панель хостингу і дивитися на графіки. Це нудно. Це втома очей. Це втрата часу.
Тому розумні люди пишуть скрипти. На bash, python, php - неважливо. Скрипт, який щогодини робить ось що:
- Таскає дані з API хостингу (якщо вона є)
- Порівнює їх з пороговими значеннями
- Якщо щось підіймається вище норми - отримуємо алерт
- Зберігає дані в базу даних для історії та аналізу
Це зовсім не складно. Серйозно. Скрипт на 50 рядків Python - і вже у вас є система, яка мотає дані кожне улеснення.
Але для цього потрібне одне - провайдер повинен надати API або хоча б SSH доступ. Якщо вашому хостингу на суму ніколи не чули про відкритися API - це сигнал. Це значить, що провайдер не думає про серйозних клієнтів. І вам можливо варто шукати іншого.
Чи ви насправді готові залежати від сервера, який працює в темряві, без видимості у те, що там станеться? Це як їхати з зав'язаними очима. Все буде добре, поки хтось не вилізе на доро заразом.