Monitorointi kuudesta maantieteellisestä sijainnista samanaikaisesti ja jos vain yksi epäonnistuu, tiedän tarkalleen missä ongelma on
Aamu alkoi tukipyynnöllä Singaporesta, jossa asiakas sanoi verkkosivuston olevan alhaalla. Monitorointinäyttö, joka toimi yhdestä palvelimesta Frankfurtissa, näytti kaiken vihreänä. Kaikki tarkistukset menestyi. Vastausajat normaalit. Sivusto oli ylhäällä. Paitsi se ei ollut ylhäällä, ainakin ei niille, jotka reitittivät tietyt Aasian verkkokallit. Ongelma osoittautui alueelliseksi reititysongelmaksi upstream-palveluntarjoajalla, joka vaikutti Kaakkois-Aasiasta tulevaan liikenteeseen samalla kun jätti Euroopan ja Pohjois-Amerikan pääsyn täysin vaikuttamattomaksi. Monitorointijärjestelmä, joka uskollisesti tarkisti yhdestä näkökohdasta Saksassa, ei pystynyt havaitsemaan ongelmaa, jota se ei nähnyt sieltä, mistä se seisoi.
Tämä tapaus ja useat samankaltaiset, joita seurasi seuraavan vuoden aikana, osoittivat yksittäisen sijainnin monitoroinnin perustavanlaatuista rajoitusta, joka näyttää ilmeiseltä jälkikäteen mutta on yllättävän helppo ohittaa. Internet ei ole yhtenäinen verkko, jossa kaikki reitit johtavat samaan määränpäähän saman infrastruktuurin kautta. Se on yhteenliitettyjen autonomisten järjestelmien, peering-sopimusten, CDN-reuna-solmujen ja DNS-ratkaisijien verkko, joka luo erilaisia kokemuksia eri maantieteellisillä alueilla oleville käyttäjille. Sivusto voi olla täysin saavutettavissa Euroopasta samalla kun se on tavoittamaton osista Aasiaa, täysin toiminnassa Pohjois-Amerikasta samalla kun kokee paketinhäviötä Etelä-Amerikasta, ja nopea yhdestä kaupungista samalla kun hidas on toinen kaupunki samassa maassa.
Ratkaisu, jonka uptime.yeb.to toteuttaa, on samanaikainen monitorointi kuudesta maantieteellisestä sijainnista, jotka ovat levinneet useille mantereille. Jokainen tarkistus toimii kaikista kuudesta sijainnista samalla aikavälillä, ja tuloksia verrataan sen määrittämiseksi, onko ongelma maailmanlaajuinen vai alueellinen. Kun kaikki kuusi paikkaa ilmoittavat epäonnistumisesta, sivusto on todella alhaalla kaikkialla. Kun yksi tai kaksi paikkaa ilmoittaa epäonnistumisesta kun taas muut osoittavat menestystä, ongelma on alueellinen, ja epäonnistuneet sijainnit välittömästi kapenevat, missä ongelma on. Tämä maantieteellinen triangulaatio muuttaa monitoroinnin binäärisen "ylhäällä tai alhaalla" -signaalin vivahteikkaaksi saatavuuskarttaksi, joka heijastaa sitä, miten internet todella toimii.
Miksi yksittäisen sijainnin monitorointi luo vaarallisia sokkeita pisteitä
Useimmat uptime-monitorointipalvelut, mukaan lukien monet tunnetut, tarkistavat oletusarvoisesti yhdestä sijainnista tai antavat käyttäjille mahdollisuuden valita yksi ensisijainen monitorointialue. Tämä lähestymistapa toimii täydellisesti täydelliset käyttökatkot havaitsemisessa, joissa alkuperäinen palvelin on alhaalla eikä kukaan missään pysty käyttämään sivustoa. Näille katastrofaalisille virheille yksi anturi riittää, koska ongelma on yleinen. Mutta täydellinen palvelimen epäonnistuminen on vain yksi käyttökatkon luokka, ja yhä enemmän se ei ole edes yleisin. Moderni verkkoinfrastruktuuri, sen CDN-kerrokset, kuormituksen tasaajat, DNS-automaattinen siirtyminen ja reunan välimuistiointi, tekivät täydellisistä käyttökatkoista harvinaisiksi samalla kun tekivät osittaisista, alueellisista ja ajoittaisista virheistä yleisempiä.
CDN-liittyvät ongelmat ovat yleisin alueellisten erojen lähde. Content Delivery Network -verkot toimivat välimuistoimalla sisältöä maailmanlaajuisesti hajautettujen reuna-palvelimien avulla, ja jokainen reuna-palvelin palvelee vierailijoita, jotka ovat maantieteellisesti lähimpänä sitä. Kun CDN-reunasolmu tietyssä alueessa kokee ongelmia, olivatpa ne laitteiston vika, väärin määritys tai kapasiteetti ylikuormitus, vierailijat, joille reititetään kyseinen reunasolmu, kokevat huonontunutta suorituskykyä tai täydellistä saavuttamattomuutta, kun taas vierailijat, joille reititetään terveita reunasolmuja, eivät näe ongelmaa. Yksittäinen sijainnin monitori, joka sattuu reitittämään terveelle reunasolmulle, ilmoittaa kaiken normaaliksi, kun taas koko alueen arvoinen vierailijoita on vaikuttunut.
DNS-levitysongelmien luovat toisen alueellisten virheiden luokan. Kun DNS-tietueita päivitetään, muutokset leviävät maailmanlaajuisen DNS-infrastruktuurin kautta eri nopeuksilla riippuen TTL-arvoista, ratkaisijan välimuistikäyttäytymisestä ja spesifisestä resoluutio polusta, jonka kukin alue seuraa. Levitysikkunan aikana jotkut alueet voivat ratkaista toimialueen vanhaan IP-osoitteeseen, kun taas toiset ratkeavat uuteen. Jos vanha IP ei enää palvele liikennettä, alueet, jotka osoittavat siihen, kokevat käyttökatkon, jota alueet, jotka osoittavat jo uuteen IP-osoitteeseen, eivät koskaan näe. Monialueen monitorointiasetelma havaitsee tämän välittömästi, koska jotkut anturit epäonnistuvat, kun taas toiset onnistuvat, mikä luo kuvion, joka on ominainen DNS-levitysongelmille ja eroaa palvelinason ongelmista.
Kuusi anturia ja mitä kukin epäonnistumisen kuvio paljastaa
Kuuden samanaikaisen anturin voima ei ole vain virheissä havaitsemisessa vaan niiden diagnosoinnissa. Erilaiset epäonnistumisen kuviot vastaavat ongelmien eri kategorioita, ja kokenut operaattori voi usein tunnistaa pääsyyn pelkästään monitorointikuviosta ennen kuin avaa edes päätteen ikkunan. Kun kaikki kuusi anturia epäonnistuvat samanaikaisesti yhteyden aikakatkaisuvirheillä, alkuperäinen palvelin tai sen verkko on todennäköisesti tavoittamaton, mikä viittaa palvelimen kaatumiseen, isännöintipalveluntarjoajan käyttökatkon tai verkon tason ongelmaan tietokeskuksessa. Kun kaikki kuusi anturia epäonnistuvat HTTP-virhevastauksilla kuten 502 tai 503, palvelin on tavoitettavissa mutta sovellus on rikki, mikä viittaa käyttöönotto-virheeseen, tietokannan epäonnistumiseen tai sovelluksen tason kaatumiseen.
Kun yksi tai kaksi anturia epäonnistuu kun taas muut onnistuvat, kuvio kertoo alueellisen tarinan. Jos epäonnistuvat anturit ovat molemmat Aasiassa, kun taas Euroopan ja Pohjois-Amerikan anturit onnistuvat, ongelma on lähes varmasti Aasian ja alkuperäisen palvelimen välisessä verkkoissa, olivatpa ne CDN-reunassa, kuljetuspalveluntarjoajassa tai alueellisessa DNS-ratkaisijassa. Jos epäonnistuva anturi on samalla alueella kuin alkuperäinen palvelin, kun taas kaukaiset anturit onnistuvat, ongelma voi olla isännöintipalveluntarjoajan paikallisen verkon tasolla, kaukaiset anturit palvellaan CDN-välimuistista, joka peittää alkuperäisen epäonnistumisen. Jokainen kuvio kaventaa diagnostista kenttää ja nopeuttaa ratkaisun aikaa.
Vastausaikamuunnelmat antureissa antavat hienemman mutta yhtä arvokkaan signaalin. Jos kaikki kuusi anturia näyttävät onnistuneita vastauksia mutta yhden alueen vastausaika on kaksinkertaistunut sen historiallisesta perusarvosta, kyseinen alue kokee huonontumista, joka ei vielä ole edennyt täydelliseen epäonnistumiseen. Huonontumisen kiinni ottaminen ennen kuin siitä tulee käyttökatko on yksi monialueen monitoroinnin arvokkaimpia ominaisuuksia, koska se antaa operaattorille aikaikkunan tutkimiseen ja väliintuloon ennen kuin käyttäjät kyseisellä alueella alkavat lähettää tukipyynnöt. Monitorointinäyttö näyttää vastausajat kaikille kuudelle sijainnille yhdellä aikajanalla, mikä tekee alueellisen huonontumisen kuviot näkyviksi silmäyksellä.
Maantieteellinen reititys ja ongelmat, joita se piilottaa
Moderni internet-infrastruktuuri käyttää maantieteellistä reitittämistä laajasti, ohjaten käyttäjät lähimpään saatavilla olevaan palvelimeen tai CDN-reunaan niiden sijainnin perusteella. Tämä reititys on yleensä hyödyllistä, koska se vähentää latenssia ja parantaa suorituskykyä useimmille käyttäjille. Mutta se tarkoittaa myös sitä, että polku, jonka pyyntö ottaa pisteestä A pisteeseen B, vaihtelee dramaattisesti riippuen siitä, missä piste A on. New Yorkissa oleva monitorointiprobe ja Tokiossa oleva monitorointiprobe ottavat täysin erilaisia verkkoalueita saavuttaakseen saman sivuston, kulkevat eri Internet-palveluntarjoajien, eri peering-pörssien ja eri CDN-reunojen kautta. Estyminen missään pisteessä yhdessä polulla voi olla näkymätön toisesta.
Anycast-reititys, jota useimmat suuret CDN:t ja DNS-palveluntarjoajat käyttävät, lisää toisen kerroksen monimutkaisuutta. Anycastin kanssa sama IP-osoite ilmoitetaan useista maantieteellisistä paikoista, ja internetin reititysinfrastruktuuri ohjaa jokaisen pyynnön lähimpään ilmoittavaan paikkaan. Tämä tarkoittaa, että DNS-ratkaisu tai CDN-pyyntö Euroopasta saavuttaa eurooppaisen palvelimen, kun taas sama pyyntö Aasiasta saavuttaa aasian palvelimen, vaikka IP-osoite molemmissa tapauksissa on identtinen. Jos aasian anycast-solmu on ongelman kanssa, aasian anturit havaitsevat sen, kun taas eurooppalaiset anturit eivät voi, koska heidän pyyntönsä eivät koskaan edes saavuta samaa fyysistä palvelinta.
BGP-reititysmuutokset voivat aiheuttaa tilapäisiä tai jatkuvia tavoitettavuusongelmia tietyille alueille. Kun border gateway protocol -reitti poistetaan tai muutetaan, liikenne, joka aiemmin kulki suoran polun kautta, voidaan ohjata uudelleen pidemmillä, mahdollisesti ruuhkaisilla poluilla, mikä lisää latenssia ja joskus aiheuttaa paketinhäviötä. Nämä BGP-tapahtumat ovat yleisiä ja tapahtuvat tuhansia kertoja päivittäin maailmanlaajuisesti, ja niiden vaikutus on luonteeltaan alueellinen. Monialueen monitorointijärjestelmä kokee nämä tapahtumat suoraan hajautettujen anteneista, havaitsemalla vaikutuksen jokaiseen alueeseen itsenäisesti sen sijaan, että luotaisiin yksittäiseen näkökohtaan, jolle voi tai ei voi vaikuttaa.
Detektiosta toimintaan ja tietäen mitä korjata
Havaitseminen ilman toimittavissa olevaa tietoa on vain hälytys, joka tekee melua osoittamatta ratkaisuun. Monialueen monitoroinnin arvo ulottuu sen ulkopuolelle, että kertoo sinulle jotain väärää. Se kertoo missä se on väärä ja, epäonnistumisen kuvion kautta, ehdottaa millaista väärä se on. Tämä diagnostinen konteksti muuntaa tapauksen vastaustyön prosessin hektisestä loki- ja näyttöjen läpi rautateiden etsinnästä kohdennettuun tutkimukseen, joka alkaa vahvalla hypoteesilla pääsyyn liittyvästä syystä.
Kun monitorointihälytykset näyttävät, että yksittäinen alue on epäonnistunut kun taas muut pysyvät terveistä, operaattori voi välittömästi keskittää tutkimuksensa kyseisen alueen verkkoäärelle. Onko kyseisen alueen CDN-reuna raportointi ongelmista? Onko aktiivinen BGP-tapahtuma, joka vaikuttaa kuljetuspalveluntarjoajiin kyseisellä alueella? Onko kyseisen alueen DNS-ratkaisija välimuistiin staalin tai epätarkan tietueen? Jokainen näistä kysymyksistä voidaan vastata nopeasti, ja vastaukset johtavat spesifisiin korjaaviin toimiin: CDN-välimuistin tyhjentäminen kyseiselle alueelle, kuljetuspalveluntarjoajaan ottaminen yhteyttä tai DNS-päivityksen pakottaminen. Ilman monialueen monitoroinnin tarjoamaa maantieteellistä kontekstia operaattori tutkisi sokeavaisesti, tarkistaen jokaisen mahdollisen epäonnistumisen pisteen sen sijaan, että olisivat vastuussa.
Uptime-monitorointialusta yhdistää monialueen tarkistamisen tulokset historiallisiin tietoihin, jotka lisäävät ajallisen kontekstin tilalliseen kontekstiin. Jos sama alue on kokenut epäonnistumisia samaan kellonaikaan aikaisemmissa tilaisuuksissa, se ehdottaa toistuva ongelma, kuten ajoitettu ylläpitoikkunan kuljetuspalveluntarjoajalla tai ennakoitavaa liikennetapaa, joka aiheuttaa kapasiteettiongelmia huipputunneilla. Jos epäonnistuminen on ensimmäinen esiintymä ilman historiallista ennakkoa, se on todennäköisemmin akuutti tapaus, joka vaatii välittömiä huomiota. Maantieteellisen ja ajallisen kontekstin yhdistelmä antaa operaattoreille täydellisimmän mahdollisen kuvan siitä, mitä tapahtuu, missä se tapahtuu ja onko se tapahtunut aiemmin.
Usein kysytyt kysymykset
Mitkä kuusi paikkaa käytetään monitorointiin
Monitorointialusta käyttää anturisijainteja, jotka ovat hajallaan Pohjois-Amerikassa, Euroopassa ja Aasiassa tarjoamaan maailmanlaajuisen kattavuuden. Tietyt sijainnit valitaan edustamaan suurimpia internet-reitityshukkeja, joissa suurin osa globaalista verkkoliikkenteestä virtaa.
Mitä tapahtuu, kun vain yksi sijainti havaitsee epäonnistumisen
Yksittäisen sijainnin epäonnistuminen laukaisee hälytyksen, joka ilmaisee alueellisen ongelman eikä globaalia käyttökatkon. Hälytys sisältää spesifisen sijainnin, joka epäonnistui ja vastaustiedot, auttaa operaattoria määrittämään, onko ongelma CDN-reunassa, kuljetuspalveluntarjoajassa vai DNS-ratkaisijassa, joka palvelee kyseistä aluetta.
Voiko monialueen monitorointi havaita hitaan suorituskyvyn ennen täydellistä käyttökatkon
Kyllä. Vastausaikamonitorointi kaikilla kuudella sijainnilla paljastaa huonontumisen tietyillä alueilla jopa silloin, kun sivusto pysyy teknisesti saavutettavissa. Vastausaika, joka on kaksinkertaistunut sen perusarvosta yhdellä alueella samalla kun pysyy vakaa muilla, on varhainen varoitus signaali, joka antaa operaattorille mahdollisuuden tutkia ennen kuin käyttäjät kokevat täydellistä epäonnistumista.
Kuinka usein tarkistukset toimivat jokaisesta sijainnista
Tarkistutaajuus on konfiguroitavissa riippuen monitorointisuunnitelmasta. Jokainen tarkistusväli laukaisee samanaikaiset anturit kaikista kuudesta sijainnista, varmistaen, että jokainen tarkistus tarjoaa täydellisen maantieteellisen kuvan-ottamisen sen sijaan, että olisivat yksittäinen pisteobservaatio.
Toimiiko monialueen monitorointi sivustojen kanssa, jotka ovat Cloudflare-tai muiden CDN-palvelujen takana
Kyllä, ja CDN-etusivun sivustot ovat todellakin paikat, joissa monialueen monitorointi tarjoaa eniten arvoa. CDN-reunaongelmat ovat luonteeltaan alueellisia, ja vain monialueen monitorointi voi havaita, kun tietty CDN-reuna on huonontunut kun taas muut pysyvät terveissä.
Onko tämä hyödyllistä vain yhdestä maasta peräisin olevaa liikennettä omaavia sivustoja varten
Jopa maantieteellisesti keskittynyt liikenne hyötyy monialueen monitoroinnista, koska verkkoputki-ongelmat voivat vaikuttaa mihin tahansa reitille. Lisäksi hakukoneet pääsevät sivustoille useista alueista, joten alueellinen käyttökatko, joka estää Googlebotia indeksoinnista, vaikuttaa hakukoneoptimoinnit vaikka inhimilliset vierailijat ensisijaisessa markkinassa olisivat vaikuttamattomia.