Multi-region перевірка збоїв
Коли моніторинг працює лише з однієї точки, короткочасний збій маршрутизації в нашого інтернет-провайдера може розбудити вас о третій ночі хибною тривогою. Перевірка з кількох регіонів (multi-region) це вирішує: збій підтверджується лише тоді, коли про нього повідомляє основний сервер і щонайменше один резервний в іншому регіоні або в іншого інтернет-провайдера.
Як це працює
- Основна перевірка (з нашого центрального сервера) повідомляє DOWN (недоступно).
- Перед надсиланням сповіщення система викликає резервний воркер в іншому регіоні.
- Воркер виконує власний тест і зазвичай протягом кількох секунд повертає UP або DOWN (залежно від таймауту монітора).
- Якщо резервний воркер також підтверджує DOWN, монітор позначається як недоступний і надсилаються сповіщення.
- Якщо основний сервер повідомив DOWN, а резервний повернув UP, це була хибна тривога (англійською flake) - жодне сповіщення не надсилається.
Коли запускається консенсус
Перевірка з кількох регіонів викликається не під час кожної перевірки, а лише в чітко визначених випадках, щоб не сповільнювати звичайне вимірювання:
- Основний сервер (primary) спочатку виконує власну перевірку, включно з внутрішніми повторами (2 спроби з короткою паузою).
- Консенсус запускається лише тоді, коли основний сервер і після повтору повідомляє DOWN. Якщо все гаразд, резервні регіони взагалі не викликаються.
- Це стосується лише моніторів типу http (без багатокрокових сценаріїв), tcp і ping. Інші типи (ssl, dns, домен, візуальний, heartbeat) його не використовують.
Як ухвалюється рішення про збій
Після того як основний сервер повідомляє DOWN, система запитує незалежну перевірку в доступних резервних воркерів в інших регіонах. За результатами вона підраховує, скільки точок підтвердили збій:
- Монітор позначається як недоступний лише тоді, коли кількість повідомлень DOWN досягає встановленого порогу (за замовчуванням 2 регіони, включно з основним).
- Якщо поріг не досягнуто (наприклад, основний повідомив DOWN, а резервний UP), це хибна тривога: монітор залишається у стані UP і жодне сповіщення не надсилається. Як час відповіді використовується середнє значення регіонів, які відповіли коректно.
- Резервний воркер, який саме не відповідає, тихо пропускається й не враховується в голосуванні.
Хто і як це вмикає
Перевірка з кількох регіонів - це необов'язкова функція на рівні всієї платформи, якою керує адміністратор ePulz.io. Регіони не фіксовані: адміністратор додає резервні воркери за потреби (наприклад, основний сервер плюс один чи два хмарні вузли в інших країнах) і налаштовує, скільки з них мають підтвердити збій.
Як це відображається в інтерфейсі
У деталях монітора для збою, який пройшов консенсус, ви бачите результат перевірки з кожної точки, наприклад:
consensus: primary:down, eu1:down
result: DOWN (2 of 2 confirmed)
На публічній сторінці статусу відвідувачі не бачать жодних технічних деталей: вони отримують лише перевірений, надійний статус сервісу без хибних тривог.
Практичні наслідки
- Менше хибних сповіщень: короткочасний збій на маршруті до одного провайдера відфільтровується перевіркою з іншого регіону.
- Дещо довший час виявлення: під час підтвердження збою додається кілька секунд порівняно з вимірюванням лише з однієї точки.
- Надійніша історія: до інцидентів і статистики доступності записуються лише реальні збої, а не локальні коливання мережі.