Monitorování ze šesti geopoloženích najednou a pokud selže pouze jedno, vím přesně kde je problém
Ráno přišel tiket od zákazníka ze Singapuru, že webová stránka nefunguje. Monitoring dashboard, který běžel z jednoho serveru ve Frankfurtu, ukazoval vše v pořádku. Všechny kontroly procházely. Doba odezvy normální. Stránka byla dostupná. Kromě toho, že nebyla dostupná, alespoň ne pro nikoho, kdo směroval provoz přes určité asijské síťové cesty. Problém se ukázal být regionální problémy směrování u upstream providera, který ovlivnil dopravu z jihovýchodní Asie, zatímco evropský a severoamerický přístup zůstal zcela nedotčen. Systém monitorování, věrně kontrolující ze své jediné pozice v Německu, neměl možnost detekovat problém, který z místa, kde stál, neviděl.
Tento incident a několik podobných incidentů, které následovaly během příštího roku, demonstrovaly fundamentální omezení monitorování z jednoho místa, což se zpětně zdá zřejmé, ale překvapivě se snadno přehlédne. Internet není jednotná síť, kde všechny cesty vedou do stejné destinace přes stejnou infrastrukturu. Je to síť propojených autonomních systémů, peer-to-peer dohod, CDN hraničních uzlů a DNS resolverů, které vytvářejí různé zážitky pro uživatele v různých geografických regionech. Webová stránka může být dokonale přístupná z Evropy, zatímco je současně nedostupná z částí Asie, plně funkční ze Severní Ameriky, zatímco zažívá ztrátu paketů z Jižní Ameriky, a rychlá z jednoho města, zatímco pomalá z jiného města ve stejné zemi.
Řešení, které uptime.yeb.to implementuje, je současné monitorování ze šesti geografických míst rozptýlených na více kontinentech. Každá kontrola běží ze všech šesti míst ve stejném časovém okně a výsledky se porovnávají, aby se určilo, zda je problém globální nebo regionální. Když všech šest míst hlásí selhání, je stránka skutečně vypnutá všude. Když jedno nebo dvě místa hlásí selhání, zatímco ostatní ukazují úspěch, je problém regionální a selhavající místa okamžitě zúží, kde problém leží. Tato geografická triangulace transformuje monitorování z binárního signálu "dostupné nebo nedostupné" na nuancovanou mapu dostupnosti, která odráží, jak internet skutečně funguje.
Proč monitorování z jednoho místa vytváří nebezpečné slepé skvrny
Většina služeb monitorování dostupnosti, včetně mnoha dobře známých, ve výchozím stavu kontroluje z jednoho místa nebo umožňuje uživatelům vybrat jednu primární oblast monitorování. Tento přístup dokonale funguje pro detekci úplných výpadků, kde je původní server vypnutý a nikdo nikde nemůže přistupovat na stránku. Pro tyto katastrofální selhání je jeden test dostatečný, protože problém je univerzální. Ale úplné selhání serveru je pouze jednou kategorií výpadku a stále méně je to nejčastější. Moderní webová infrastruktura s jeho vrstvami CDN, load balancerů, DNS failover a edge cachingu způsobila, že totální výpadky jsou vzácné, zatímco částečná, regionální a přerušovaná selhání jsou častější.
Problémy související s CDN jsou nejčastějším zdrojem regionálních rozdílů. Sítě pro doručování obsahu fungují ukládáním obsahu do cache na hraničních serverech rozptýlených po celém světě a každý hraniční server obsluhuje návštěvníky, kteří jsou geograficky nejblíže k němu. Když hraniční uzel CDN v určité oblasti zažije problémy, ať už hardwareové selhání, nesprávnou konfiguraci nebo přetížení kapacity, návštěvníci směrovaní na tento hraniční uzel zažívají zhoršený výkon nebo úplnou nedostupnost, zatímco návštěvníci směrovaní na zdravé hraniční uzly nevidí žádný problém. Monitor z jednoho místa, který se stane být směrován na zdravý hraniční uzel, hlásí vše jako normální, zatímco celá regionální skupina návštěvníků je ovlivněna.
Problémy s DNS propagací vytvářejí další třídu regionálních selhání. Když se DNS záznamy aktualizují, změny se šíří skrz globální infrastrukturu DNS různými rychlostmi v závislosti na hodnotách TTL, chování cache resolveru a specifické cestě rozlišení, kterou každá region následuje. Během okna propagace mohou některé regiony vyřešit doménu na starou IP adresu, zatímco jiné ji vyřeší na novou. Pokud stará IP adresa již neslouží provozu, regiony, které na ni stále ukazují, zažívají výpadek, který regiony, které již ukazují na novou IP, nikdy neuvidí. Vícerегionální nastavení monitorování to detekuje okamžitě, protože některé testy selžou, zatímco jiné uspějí, což vytváří vzor, který je charakteristický pro problémy DNS propagace a odlišný od problémů na úrovni serveru.
Šest testů a co každý vzor selhání odhaluje
Síla šesti simultánních testů spočívá nejen v detekci selhání, ale v jejich diagnóze. Různé vzory selhání odpovídají různým kategoriím problémů a zkušený operátor často identifikuje root cause pouze z monitorovacího vzoru, než otevře okno terminálu. Když všechny šest testů selžou současně s chybami timeout připojení, je původní server nebo jeho síť pravděpodobně nedostupný, což naznačuje selhání serveru, výpadek hostitele nebo problém na úrovni sítě v datovém centru. Když všechny šest testů selžou s HTTP chybami odpovědí jako 502 nebo 503, je server dostupný, ale aplikace je porušena, což naznačuje chybu nasazení, selhání databáze nebo selhání na úrovni aplikace.
Když jeden nebo dva testy selžou, zatímco ostatní uspějou, vzor vypráví regionální příběh. Pokud selhavující testy jsou oba v Asii, zatímco evropské a severoamerické testy uspějí, je problém téměř jistě v síťové cestě mezi Asií a původním serverem, ať už na hranici CDN, transit provideru nebo regionálním DNS resolveru. Pokud selhavující test je ve stejné oblasti jako původní server, zatímco vzdálené testy uspějí, problém může být na místní úrovni sítě hostitele, přičemž vzdálené testy jsou obsluhovány z cache CDN, která maskuje selhání původu. Každý vzor zúží diagnostické pole a zrychlí dobu do rozlišení.
Variace doba odezvy mezi testy poskytují subtilnější, ale stejně cenný signál. Pokud všechny šest testů ukazuje úspěšné odpovědi, ale doby odezvy jedné oblasti se zdvojnásobily ve srovnání s jejím historickým baseline, tato region zažívá degradaci, která dosud nepostupovala k úplnému selhání. Zachycení degradace dříve, než se stane výpadkem, je jednou z nejcennějších schopností vícerегionálního monitorování, protože dává operátorovi časové okno na vyšetření a zásah dříve, než uživatelé v dané oblasti začnou posílat tipy podpory. Monitoring dashboard zobrazuje doba odezvy pro všech šest míst na jedné časové ose, což činí regionální vzory degradace viditelné na první pohled.
Geografické směrování a problémy, které skrývá
Moderní internetová infrastruktura používá geografické směrování rozsáhle, směrování uživatelů na nejbližší dostupný server nebo hraniční CDN na základě jejich umístění. Toto směrování je obecně výhodné, protože snižuje latenci a zlepšuje výkon pro většinu uživatelů. Ale také to znamená, že cesta, kterou žádost vezme z bodu A do bodu B, se dramaticky liší v závislosti na tom, kde je bod A. Test monitorování v New Yorku a test monitorování v Tokiu budou vést zcela různé síťové cesty na stejnou webovou stránku, procházejícím různými ISP, různými výměnami peer-to-peer a různými hranicemi CDN. Překážka kdekoli podél jedné cesty může být neviditelná z druhé.
Anycast směrování, používané většinou velkých CDN a DNS poskytovatelů, přidává další vrstvu komplexnosti. S anycastem je stejná IP adresa oznamována z více geografických míst a síťová infrastruktura internetu směruje každou žádost na nejbližší oznamující místo. To znamená, že DNS rozlišení nebo CDN žádost z Evropy dosáhne evropského serveru, zatímco stejná žádost z Asie dosáhne asijského serveru, i když IP adresa v obou případech je identická. Pokud má asijský anycast uzel problém, asijské testy jej detekují, zatímco evropské testy nemohou, protože jejich žádosti nikdy nebudou dosáhnout stejného fyzického serveru.
Změny BGP směrování mohou způsobit dočasné nebo dlouhodobé problémy s dosažitelností pro určité regiony. Když je tras border gateway protocol stažen nebo změněn, provoz, který dříve tekl přímou cestou, může být přesměrován přes delší, potenciálně přetížené cesty, což zvyšuje latenci a někdy způsobuje ztrátu paketů. Tyto BGP události jsou běžné, probíhají tisíce krát denně globálně a jejich dopad je z podstaty regionální. Vícerегionální monitorovací systém zažívá tyto události přímo skrz své distribuované testy, detekující dopad na každou region nezávisle spíše než spoléhajíc se na jednu pozici, která může či nemusí být ovlivněna.
Od detekce k akci a vědění, co opravit
Detekce bez actionable informací je jen alarm, který dělá hluk bez toho, aby ukazoval na řešení. Hodnota vícerегionálního monitorování se rozšiřuje nad rámec řeknutí vám, že je něco špatně. Řekne vám, kde je to špatně a, skrz vzor selhání, naznačuje, jaký druh špatného to je. Tento diagnostický kontext transformuje proces reagování na incident z bezradné hledáčky přes logy a dashboardy na cílenou vyšetřování, která začínají silným předpokladem o root cause.
Když monitorovací upozornění ukazují, že jediná region selhala, zatímco ostatní zůstávají zdravé, operátor může okamžitě zaměřit své vyšetřování na síťovou cestu dané regiony. Hlásí problém hraniční CDN v dané oblasti? Je aktivní BGP incident ovlivňující transit providery v dané oblasti? Má DNS resolver pro dané region uložen zastaralý nebo nesprávný záznam? Každá z těchto otázek může být zodpovězena rychle a odpovědi vedou k specifickým nápravným akcím: vyčistit cache CDN pro danou region, kontaktovat transit providera nebo vynutit refresh DNS. Bez geografického kontextu, který poskytuje vícerегionální monitorování, operátor by vyšetřoval naslepo, kontroloval každý možný bod selhání spíše než ty, které jsou nejpravděpodobněji odpovědné.
Monitorovací platforma dostupnosti páří výsledky vícerегionálních kontrol s historickými daty, která přidávají temporální kontext k prostorovému kontextu. Pokud stejná region zažila selhání ve stejný čas dne v předchozích příležitostech, to naznačuje opakující se problém, jako je naplánované okno údržby u transit providera nebo předvídatelný vzor provozu, který způsobuje problémy s kapacitou během špičky. Pokud je selhání prvním výskytem bez historického precedentu, je to spíše akutní incident, který vyžaduje okamžitou pozornost. Kombinace geografického a temporálního kontextu dává operátorům nejúplnější možný obrázek toho, co se děje, kde se to děje a zda se to stalo dříve.
Často kladené otázky
Která šest míst se používá pro monitorování
Monitorovací platforma používá probe umístění distribuovaná v Severní Americe, Evropě a Asii, aby poskytnula globální pokrytí. Konkrétní místa jsou vybrána tak, aby reprezentovala hlavní internetové hub směrování, kde tekoucí většina globálního webového provozu.
Co se stane, když pouze jedno místo detekuje selhání
Selhání jediného místa spustí upozornění indikující regionální problém spíše než globální výpadek. Upozornění zahrnuje konkrétní místo, které selhalo a detaily odpovědi, pomáhající operátorovi určit, zda je problém na hranici CDN, transit provideru nebo DNS resolveru sloužícím dané oblasti.
Může vícerегionální monitorování detekovat pomalý výkon dříve, než dojde k úplnému výpadku
Ano. Monitorování doby odezvy všech šest míst odhaluje degradaci v určitých regionech i když stránka zůstává technicky dostupná. Doba odezvy, která se zdvojnásobila od jejího baseline v jedné oblasti, zatímco zůstává stabilní v ostatních, je brané varování signál, který umožňuje operátorovi vyšetřit dříve, než uživatelé zažívají úplné selhání.
Jak často běží kontroly z každého místa
Frekvence kontroly je konfigurovatelná v závislosti na plánu monitorování. Každý interval kontroly spustí simultánní testy ze všech šest míst, což zajistí, že každá kontrola poskytuje úplný geografický snímek spíše než jednu bodovou pozorování.
Funguje vícerегionální monitorování se stránkami za Cloudflare nebo jinými CDN
Ano, a stránky před CDN jsou ve skutečnosti místem, kde vícerегionální monitorování poskytuje nejvíce hodnoty. Problémy s okrajem CDN jsou z podstaty regionální a pouze vícerегionální monitorování může detekovat, když specifický hraniční CDN je degradován, zatímco ostatní zůstávají zdravé.
Je to užitečné pro stránky s provozem pouze z jedné země
I stránky s geograficky soustředěným provozem těží z vícerегionálního monitorování, protože problémy síťové cesty mohou ovlivnit jakoukoli trasu. Kromě toho jsou webovými crawlery vyhledávačů přístupovány z více regionů, takže regionální výpadek, který blokuje Googlebot od crawlingu, ovlivňuje SEO, i když lidští návštěvníci v primárním trhu nejsou ovlivněni.