Моніторинг з шести геолокацій одночасно і якщо видмовить тільки одна я знаю точно де проблема
Ранок почалося зі звернення клієнта з Сінгапуру, який повідомив, що веб-сайт впав. Інформаційна панель моніторингу, яка працювала з одного серверу у Франкфурті, показувала все зелене. Всі перевірки проходили. Час відповіді в нормі. Сайт працював. Крім того, що він не працював, принаймні не для тих, хто маршрутизувався через певні азіатські мережеві шляхи. Проблема виявилася регіональною проблемою маршрутизації у вище розташованого постачальника, яка вплинула на трафік з Південно-Східної Азії, залишаючи доступ із Європи та Північної Америки абсолютно неушкодженим. Система моніторингу, вірно перевіряючи з одної позиції у Німеччині, не мала можливості виявити проблему, яку вона не могла бачити звідси.
Цей інцидент та кілька подібних, які сталися впродовж наступного року, продемонстрували фундаментальне обмеження моніторингу з одного місця розташування, яке здається очевидним у ретроспективі, але дивно легко ігнорується. Інтернет - це не рівномірна мережа, де всі шляхи ведуть до однієї пункту призначення через ту саму інфраструктуру. Це мережа взаємопов'язаних автономних систем, угод про піринг, граничних вузлів CDN та вирішувачів DNS, які створюють різні враження для користувачів у різних географічних регіонах. Веб-сайт може бути ідеально доступним з Європи, коли одночасно недосяжний з частин Азії, повністю функціональний з Північної Америки, коли він зазнає втрат пакетів з Південної Америки, та швидкий з одного міста, коли повільний з іншого міста в одній країні.
Рішення, яке реалізує uptime.yeb.to, - це одночасний моніторинг з шести географічних локацій, розташованих на декількох континентах. Кожна перевірка виконується з усіх шести локацій в одному часовому вікні, і результати порівнюються, щоб визначити, чи є проблема глобальною чи регіональною. Коли всі шість локацій повідомляють про збій, сайт справді не працює всюди. Коли одна або дві локації повідомляють про збій, а інші показують успіх, проблема є регіональною, і локації, що видмовили, негайно звужують, де виникла проблема. Ця географічна тріангуляція перетворює моніторинг від бінарного сигналу "робить чи не робить" на тонку карту доступності, яка відображає, як насправді працює Інтернет.
Чому моніторинг з однієї локації створює небезпечні сліпі плями
Більшість служб моніторингу безперервної роботи, включаючи багато відомих, за замовчуванням перевіряють з однієї локації або дозволяють користувачам вибрати один основний регіон моніторингу. Цей підхід чудово працює для виявлення повних збоїв, коли вихідний сервер впав, і ніхто ніде не може отримати доступ до сайту. Для цих катастрофічних відмов одного датчика достатньо, оскільки проблема універсальна. Але повна відмова сервера - це лише одна категорія збою, і дедалі більше це навіть не найчастіша. Сучасна веб-інфраструктура зі своїми шарами CDN, балансувальників навантаження, DNS-відмови та крайового кешування зробила повні збої рідкими, коли часткові, регіональні та перемежаючі збої стали більш частими.
Проблеми, пов'язані з CDN, є найпоширенішим джерелом регіональних розбіжностей. Мережі доставки вмісту працюють шляхом кешування вмісту на граничних серверах, розташованих по всьому світу, і кожен граничний сервер обслуговує відвідувачів, які знаходяться географічно найближче до нього. Коли граничний вузол CDN у конкретному регіоні зазнає проблем, будь то апаратна помилка, невірна конфігурація або перевантаження потужності, відвідувачі, маршрутизовані на той граничний вузол, зазнають погіршення продуктивності або повної недоступності, тоді як відвідувачі, маршрутизовані на здорові граничні вузли, не бачать ніяких проблем. Монітор з однієї локації, який випадково маршрутизується на здоровий граничний вузол, буде повідомляти, що все нормально, коли весь регіон користувачів потерпає.
Проблеми з розповсюдженням DNS створюють іншу категорію регіональних збоїв. Коли записи DNS оновлюються, зміни розповсюджуються через глобальну інфраструктуру DNS з різною швидкістю залежно від значень TTL, поведінки кешування вирішувача та конкретного шляху розрізнення, яким слідує кожен регіон. Під час вікна розповсюдження деякі регіони можуть розв'язати домен на старий IP-адресу, а інші розв'язати на новий. Якщо стара IP-адреса більше не обслуговує трафік, регіони, які все ще вказують на неї, зазнають збою, який регіони, вже спрямовані на нову IP, ніколи не побачать. Мультирегіональна система моніторингу виявляє це негайно, оскільки деякі датчики видмовлять, а інші повідомлять про успіх, створюючи закономірність, характерну для проблем розповсюдження DNS та відмінну від проблем на рівні сервера.
Шість датчиків і що розповідає кожна закономірність відмови
Сила шести одночасних датчиків полягає не лише у виявленні збоїв, але й у діагностиці їх. Різні закономірності відмови відповідають різним категоріям проблем, і досвідчений оператор часто може визначити первопричину з самої закономірності моніторингу, перш ніж навіть відкривати вікно терміналу. Коли всі шість датчиків одночасно видмовляють з помилками тайм-ауту з'єднання, вихідний сервер або його мережа, ймовірно, недосяжні, що припускає краш сервера, збій постачальника хостингу або проблема на рівні мережі у центрі обробки даних. Коли всі шість датчиків видмовляють з відповідями помилок HTTP, такими як 502 або 503, сервер досяжний, але додаток зламаний, що припускає помилку розгортання, відмову бази даних або краш на рівні додатку.
Коли один або два датчики видмовляють, а інші успішні, закономірність розповідає регіональну історію. Якщо датчики, що видмовили, обидва знаходяться в Азії, тоді як датчики в Європі та Північній Америці успішні, проблема майже напевно знаходиться в мережевому шляху між Азією та вихідним сервером, будь то граничний край CDN, постачальник транзиту або регіональний вирішувач DNS. Якщо датчик, що видмовив, знаходиться у тому ж регіоні, що й вихідний сервер, тоді як далекі датчики успішні, проблема може бути на локальному рівні мережі постачальника хостингу з далекими датчиками, обслуговуваними з кешу CDN, який маскує відмову вихідного. Кожна закономірність звужує діагностичне поле та прискорює час до розрішення.
Варіації часу відповіді через датчики забезпечують тонший, але не менш цінний сигнал. Якщо всі шість датчиків показують успішні відповіді, але час відповіді одного регіону подвоївся порівняно з його історичною базовою лінією, цей регіон зазнає деградації, яка не прогресувала до повної відмови. Виявлення деградації до того, як вона стане збоєм, є однією з найцінніших можливостей мультирегіонального моніторингу, оскільки це дає оператору вікно часу для розслідування та втручання, перш ніж користувачі в тому регіоні почнуть подавати квитанції про підтримку. Інформаційна панель моніторингу відображає час відповіді для всіх шести локацій на одній шкалі часу, що робить закономірності регіональної деградації видимими з першого погляду.
Географічна маршрутизація та проблеми, які вона приховує
Сучасна інфраструктура Інтернету широко використовує географічну маршрутизацію, спрямовуючи користувачів до найближчого доступного сервера або граничного краю CDN на основі їхнього розташування. Ця маршрутизація загалом корисна, оскільки зменшує затримку та поліпшує продуктивність для більшості користувачів. Але це також означає, що шлях, яким проходить запит від точки А до точки Б, різко різниться залежно від того, де знаходиться точка А. Датчик моніторингу в Нью-Йорку та датчик моніторингу в Токіо прийдуть до одного й того самого веб-сайту абсолютно різними мережевими шляхами, проходячи через різних ISP, різні пірингові біржі та різні граничні краї CDN. Перешкода будь-де на одному шляху може бути невидима з іншої.
Маршрутизація Anycast, використовувана більшістю основних CDN та постачальників DNS, додає ще один шар складності. З anycast однакова IP-адреса оголошується з декількох географічних локацій, а інфраструктура маршрутизації Інтернету спрямовує кожен запит до найближчого оголошуючого місця. Це означає, що розрізнення DNS або запит CDN з Європи досягає європейського сервера, в той час як той же запит з Азії досягає азіатського сервера, хоча IP-адреса в обох випадках однакова. Якщо азіатський вузол anycast має проблему, азіатські датчики виявляють це, тоді як європейські датчики не можуть, оскільки їхні запити ніколи не досягають одного й того самого фізичного сервера.
Зміни маршрутизації BGP можуть спричинити тимчасові або тривалі проблеми з доступністю для певних регіонів. Коли маршрут протоколу граничного шлюзу відомовляється або змінюється, трафік, який раніше проходив через прямий шлях, може бути переспрямований через довші, потенційно перевантажені шляхи, збільшуючи затримку і іноді спричиняючи втрату пакетів. Ці події BGP часті, відбуваються тисячі разів на день глобально, і їхній вплив за своєю суттю регіональний. Мультирегіональна система моніторингу безпосередньо зазнає цих подій через розподілені датчики, виявляючи вплив на кожен регіон незалежно, а не покладаючись на один погляд, який може бути чи не бути постійним.
Від виявлення до дії і знання того, що потрібно виправити
Виявлення без діючої інформації - це просто сигнал тривоги, який видає звук, не вказуючи на рішення. Значення мультирегіонального моніторингу виходить за межі повідомлення вам про те, що щось не так. Це розповідає вам, де це не так, і, через закономірність відмови, припускає, що це якого роду не так. Цей діагностичний контекст перетворює процес реагування на інцидент від безтямної пошуку через журнали та інформаційні панелі на цілеспрямоване розслідування, яке починається з твердої гіпотези про першопричину.
Коли сигнали моніторингу показують, що один регіон видмовив, а інші залишаються здоровими, оператор може негайно зосередити своє розслідування на мережевому шляху того регіону. Чи повідомляє граничний край CDN у тому регіоні про проблеми? Чи є активна подія BGP, яка впливає на постачальників транзиту в тому районі? Чи кешував вирішувач DNS для того регіону застаріла чи невірна запис? Кожне з цих питань можна відповісти швидко, і відповіді ведуть до конкретних дій по усуненню: очистити кеш CDN для того регіону, зв'язатися з постачальником транзиту або примусово оновити DNS. Без географічного контексту, наданого мультирегіональним моніторингом, оператор розслідував би наосліп, перевіряючи кожну можливу точку відмови, а не ті, які найбільше вірогідні за відповідальність.
Платформа моніторингу безперервної роботи поєднує результати мультирегіональної перевірки з історичними даними, які додають часовий контекст до просторового контексту. Якщо той же регіон зазнав збоїв у той же час дня в попередніх випадках, це припускає повторну проблему, таку як вікно планового обслуговування у постачальника транзиту, або передбачувану структуру трафіку, яка спричиняє проблеми з потужністю в часи пікових навантажень. Якщо збій - це перший випадок без історичного прецеденту, він більше вірогідно гострий інцидент, який вимагає негайної уваги. Комбінація географічного та часового контексту дає операторам найповніший можливий образ того, що відбувається, де це відбувається, і чи це трапилося раніше.
Часто задавані питання
Які шість локацій використовуються для моніторингу
Платформа моніторингу використовує локації датчиків, розподілені по Північній Америці, Європі та Азії, щоб забезпечити глобальне покриття. Конкретні локації обираються для представлення основних вузлів маршрутизації Інтернету, де перевозиться більшість глобального веб-трафіку.
Що відбувається, коли тільки одна локація виявляє збій
Сбій однієї локації спричиняє сигнал тривоги, що вказує на регіональну проблему, а не на глобальний збій. Сигнал тривоги включає конкретну локацію, яка видмовила, та деталі відповіді, допомагаючи оператору визначити, чи проблема знаходиться на граничному краї CDN, у постачальника транзиту чи у вирішувача DNS, що обслуговує той регіон.
Чи може мультирегіональний моніторинг виявити повільну продуктивність до повної відмови
Так. Моніторинг часу відповіді через всі шість локацій виявляє деградацію в конкретних регіонах навіть коли сайт залишається технічно доступним. Час відповіді, який подвоївся від його базового рівня в одному регіоні, тоді як залишається стабільним в інших, - це ранній сигнал попередження, який дозволяє оператору розслідувати до того, як користувачі зазнають повної відмови.
Як часто виконуються перевірки з кожної локації
Частота перевірок налаштовується залежно від плану моніторингу. Кожен інтервал перевірки запускає одночасні датчики з усіх шести локацій, забезпечуючи, що кожна перевірка забезпечує повний географічний знімок, а не одне спостереження.
Чи працює мультирегіональний моніторинг із сайтами, розташованими позаду Cloudflare чи інших CDN
Так, і сайти на фронті CDN - це насправді місце, де мультирегіональний моніторинг забезпечує найбільше значення. Проблеми з граничним краєм CDN за своєю суттю регіональні, і тільки мультирегіональний моніторинг може виявити, коли конкретний граничний край CDN деградується, тоді як інші залишаються здоровими.
Чи це корисно для сайтів з трафіком тільки з однієї країни
Навіть сайти з географічно зосередженим трафіком мають користь від мультирегіонального моніторингу, оскільки проблеми з мережевим шляхом можуть вплинути на будь-який маршрут. Крім того, пошукові системи сканюють сайти з декількох регіонів, тому регіональний збій, який блокує Googlebot від сканування, впливає на SEO навіть якщо людські відвідувачі з основного ринку не постраждали.