Чому сайти падають і як дізнатися раніше за клієнтів

Сайти падають з буденних причин: закінчився SSL-сертифікат, вчасно не оплачений хостинг чи домен, оновлення на сервері зламало сумісність, після перезавантаження піднялися не всі сервіси або сайт уперся в ліміт зовнішнього сервісу. Дізнатися про це раніше за клієнтів можна одним способом — автоматичним моніторингом, який перевіряє сайт частіше, ніж туди заходять відвідувачі.
Через що сайти падають найчастіше?
За нашою практикою більшість падінь — це не хакери і не пожежі в дата-центрах. Атаки теж трапляються, але в малого бізнесу все зазвичай прозаїчніше: пʼять буденних сценаріїв.
Прострочений SSL-сертифікат виглядає так: одного ранку браузер замість сайту показує відвідувачам червону сторінку «Зʼєднання не захищене». Більшість людей одразу закриває вкладку. Сайт формально живий, реклама крутиться, переходи йдуть — а заявок нуль. Сертифікат роками продовжується автоматично, поки одного разу автоматика не дає збій, і тоді все залежить від того, чи помітить це хтось раніше за відвідувачів. Власник зазвичай дізнається останнім, коли хтось зі знайомих наважиться спитати, чому сайт «зламався».
Неоплачений хостинг або домен — друга класика. Лист із нагадуванням потонув у скриньці, картка не спрацювала, і хостер вимкнув сайт. У кращому разі все повертається після оплати. У гіршому — дані вже видалені, і відновлювати нема з чого. З доменом окрема біда: прострочений домен із часом іде у вільний продаж.
Оновлення системи на сервері власник узагалі не контролює. Хостер оновив ПЗ — і частина сайту перестала працювати через несумісність: на окремих сторінках зʼявилася помилка, хоча сам сайт ніхто не чіпав місяцями.
Перезавантаження сервера — планове чи через збій — теж не завжди минає безслідно. Сервер піднявся, а окремий сервіс, наприклад база даних, ні, бо його свого часу не додали в автозапуск. Зовні це виглядає підступно: головна сторінка відкривається, а форма мовчить. Така поломка може жити тижнями, бо доки хтось не спробує надіслати заявку, ніхто нічого не помічає.
Пʼята причина — ліміти зовнішніх сервісів. Сайт спирається на сторонні сервіси на кшталт платіжної системи чи мап. У кожного є ліміти, і поки трафіку мало, їх не видно. У день піка сервіс перестає відповідати й тягне за собою частину сайту — саме тоді, коли відвідувачів найбільше.
| Причина | Що бачить відвідувач | Як помітити раніше за нього |
|---|---|---|
| Прострочений SSL | Червоне попередження браузера | Щоденна перевірка терміну сертифіката |
| Неоплачений хостинг чи домен | Сайт не відкривається взагалі | Щоденний контроль терміну домену й оплат |
| Оновлення на сервері | Помилки на частині сторінок | Перевірка доступності щогодини |
| Сервер перезавантажився | Сайт «наче працює», але форма мовчить | Щоденна перевірка форми заявок |
| Ліміт зовнішнього сервісу | Усе гальмує або частина функцій відмовляє | Перевірка доступності щогодини і алерт у Telegram |
Найдорожчий «працюючий» сайт
Цю історію нам переповіли колеги, і одразу чесно: програміст у ній не наш. Блогерка зняла рилс із посиланням на свій лендинг — той продавав доступ у закритий Telegram-канал. Відео завірусилося на мільйони переглядів, і на сайт прийшло 50 000 відвідувачів. Оплат — нуль. Ні перша, ні сота людина не змогла заплатити, бо програміст забув перемкнути платіжну систему з тестового режиму в бойовий. Сайт відкривався швидко, сторінка оплати виглядала справною, і моніторинг доступності весь цей час показував би зелений статус. За всіма технічними ознаками сайт «працював» — він просто мовчки не приймав гроші в найкращий день свого існування. Такий трафік не повторюється на замовлення: другого вірусного відео може й не бути. Тому перевірка «чи відкривається сайт» — лише половина справи; другу половину закриває перевірка критичного шляху, яким приходять гроші або заявки. У нашому моніторингу форма заявок через це перевіряється окремо, раз на добу.
Що впіймав наш моніторинг за останній місяць?
Під наглядом у нас зараз 20+ сайтів. За останній місяць моніторинг упіймав 3 інциденти, і всі три — на наших власних експериментальних сайтах, де ми обкатуємо нові рішення; клієнтські сайти прожили місяць спокійно.
Типовий приклад: на одному з експериментальних сайтів виросло навантаження на сервер і просіла швидкість. Алерт прийшов у Telegram, ми додали серверу потужностей, на цьому інцидент закінчився. Нічого героїчного — у цьому й суть: проблема, про яку дізнаєшся рано, лишається дрібною. Якби той самий сплеск стався на клієнтському сайті, сценарій був би той самий, і власник дізнався б про інцидент із нашого повідомлення, а не з простою.
А ось випадок, який не впіймав би жоден моніторинг. Клієнт опублікував на сайті номер телефону з помилкою. Технічно все працювало: сторінки відкривалися, форма надсилала заявки. Тільки дзвінків не було. Помилку знайшла уважність, а не автоматика. Висновок, яким ми користуємося досі: «сайт працює» і «сайт приносить» — це дві різні перевірки, і повністю автоматизувати можна лише першу.
Як дізнаватися про падіння раніше за клієнтів?
Механіка нашого моніторингу проста. Доступність сайту перевіряється щогодини. SSL-сертифікат, термін домену і форма заявок — раз на добу. Коли перевірка провалюється, алерт одразу приходить нам у Telegram. Моніторинг працює цілодобово, а реагуємо ми в робочі години, Пн–Пт з 09:00 до 19:00 за Києвом — у середньому відповідь займає ~30 хвилин.
Якщо автоматичного моніторингу немає, мінімальна ручна альтернатива така: раз на тиждень відкрити сайт у режимі інкогніто з телефона, надіслати собі тестову заявку через форму і глянути в календарі, коли спливають оплати домену й хостингу. Це набагато гірше за перевірку щогодини, але незрівнянно краще, ніж дізнаватися про падіння від клієнтів.
Для сайтів на підписці pageever моніторинг уже включений навіть у Базовий тариф за €10/міс або €96/рік. Якщо ж сайт живе на своєму хостингу і переїжджати не збирається, є окрема послуга — моніторинг чужих сайтів за €50/рік: переносити нічого не треба, ми просто ставимо сайт під нагляд.
За останній місяць усі 3 інциденти ми побачили в алертах у Telegram, а не дізналися з дзвінків клієнтів.
Розкажіть, що потрібно
Аналіз задачі й оцінка — безкоштовно. Відповідаємо протягом двох годин у робочий час.