Навіщо сайту моніторинг аптайму
Ви моніторите сайт для того, щоб дізнатися про його поломку раніше за своїх клієнтів, а не після них. Без монітора перше повідомлення про збій зазвичай приходить від відвідувача в соцмережах, електронною поштою чи по телефону, і на той момент збій триває вже стільки, скільки знадобилося комусь, щоб узагалі вам про нього сказати.
Що кладе сайт
Сайт може перестати відповідати з причин, які не мають між собою нічого спільного. Звичний перелік:
- Хибний код, зокрема деплой, що пройшов рев'ю, але зламався в production
- Збої хостингу - від однієї машини до цілого дата-центру
- Досягнуті ліміти хостингу: пропускна здатність, з'єднання, квота процесора, диск
- Спроби зламу застосунку чи сервера
- DDoS-атаки, що перевантажують хост, поки той не перестане відповідати на будь-який запит, добрий чи ні
- Прострочена реєстрація домену
- Прострочений TLS-сертифікат, через який кожен браузер відмовляється з'єднуватися
Більшість із цього у вашій владі. Ви можете рев'юїти код, підбирати розмір хостингу під трафік і вчасно поновлювати домен і сертифікат. Спроби зламу й DDoS-трафік - ні: їх можна лише обмежувати і витримувати. Спільне для всіх семи пунктів те, що сервер рідко про це повідомляє сам. Машина, яка не може достукатися до інтернету, не може надіслати вам повідомлення про це, а сертифікат, що прострочився опівночі, не заводить тікет.
У що обходиться збій, поки ви про нього не знаєте
Відвідувач, що бачить "Server Not Found", оновлює сторінку один раз, перевіряє, чи правильно набрав адресу, а потім шукає сайт, який працює. Вікно, у якому ви ще можете утримати цю людину, коротке, і воно закривається без жодного повідомлення про це.
Арифметику для власного сайту порахувати легко. Візьмімо середній чек $25 і 50 відвідувачів на годину, що конвертуються: така година коштує близько $1250, і година простою коштує ті самі $1250. У вашій аналітиці ця година ніде не запишеться як втрата: замовлення, що не відбулися, залишать лише провал, який наступного тижня ви спишете на щось інше. Повільні сторінки завдають такої самої шкоди тихіше. Сайт відповідає, перевірка проходить, а відвідувачі все одно йдуть.
Як моніторинг змінює цю послідовність подій
Моніторинг замінює "клієнт нам сказав" на "перевірка не пройшла о 03:14 із чотирьох локацій".
- Він запускає відлік раніше. Час на усунення проблеми рахують з моменту, коли ви про неї дізналися, тож усе, що скорочує розрив до виявлення, скорочує і сам простій.
- Він дає вам докази. Яка перевірка не пройшла, з яких локацій, з яким кодом стану чи таймаутом, і коли був останній вдалий результат. Це вже майже готовий діагноз ще до того, як ви відкрили термінал.
- Він показує різницю між "лежить для всіх" і "лежить з однієї мережі", бо перевірки виконуються одночасно з багатьох місць, а не з одного сервера.
Зовнішня перевірка - це те, чим не може замінити лог на самому сервері. Якщо проблема в мережевому шляху, DNS-записі чи сертифікаті, сервер узагалі не бачить нічого поганого. Виконання того самого запиту з багатьох країн - ідея, що лежить в основі розподіленого моніторингу доступності - це те, що робить регіональний збій видимим саме як регіональний збій, а не як загадку.
Що моніторити крім "працює/не працює"
Перевірка доступності відповідає лише на одне питання. Те, що ламає сайт, зазвичай спершу видно в інших місцях:
- Аптайм і простій сервера - базова перевірка
- Час відгуку, який деградує ще до того, як стається збій
- Навантаження на процесор, пам'ять і диск сервера
- Навантаження на базу даних і затримка запитів
- Закінчення терміну дії домену
- Закінчення терміну дії сертифіката
- Вміст сторінки, щоб сайт, який повертає 200 зі сторінкою помилки, теж потрапив у поле зору
Закінчення терміну дії домену й сертифіката варті окремої згадки, бо це два збої з наперед відомою датою. Обидва можна повністю запобігти сповіщенням, налаштованим за тижні наперед.
Як скоротити простій, щойно ви його бачите
- Поставте на сайт монітор ззовні, з інтервалом достатньо коротким, щоб збій вимірювався хвилинами, а не годинами. Спершу запустіть разову HTTP-перевірку з кількох локацій, щоб побачити, як сайт відповідає сьогодні.
- Обирайте хостинг із запасом потужності і репутацією, яку ви самі перевірили, а не тим, про що вам розповіли. Тариф "необмежено" необмежений не завжди.
- Тримайте застосунок, серверне ПЗ і плагіни оновленими. Зламаний сайт втрачає не лише доступність: він втрачає довіру клієнтів і пошукових систем.
- Налаштуйте сповіщення про закінчення терміну дії для домену і кожного сертифіката з достатнім запасом часу на поновлення.
Одноразова перевірка проти знання про кожен збій
Перевірка, яку ви запускаєте вручну, відповідає лише за той момент, коли ви її запустили. Монітор відповідає постійно і повідомляє, коли відповідь змінюється. HostTracker моніторить сайти з 2004 року і зараз стежить за понад 500 000 сайтів із понад 300 точок перевірки у 158 містах, використовуючи 13 типів моніторів і сповіщаючи електронною поштою, SMS, голосовим дзвінком, у Slack, Telegram та іншими способами. Що саме охоплюють ці перевірки, дивіться в переліку можливостей, посібник про HTTP-перевірку - для типу, з якого починає більшість сайтів, а решту розділу про терміни моніторингу - для понять, що стоять за ними.