Polku 05Oppitunti 4 / 8

Havainnoi palvelua ja käyttäjien kokemusta

Yhdistä metrics, logs ja traces palvelun tavoitteisiin. Suunnittele hälytykset, tietorajat ja puuttuvan telemetrian tunnistaminen.

Käytännön työ11 minTarkistettu

Julkaisija Näin kirjoitamme

Mitä opit

  • Valitset telemetrian tietyn operatiivisen kysymyksen perusteella.
  • Erotat käyttäjälle näkyvän oireen sisäisestä syystä.
  • Suojaat telemetrian ja tunnistat puuttuvan tai vanhentuneen näytön.

Aloita kysymyksestä

Monitoring tarkistaa tunnettuja olosuhteita. Observability auttaa selvittämään järjestelmän toimintaa myös ennalta arvaamattomissa tilanteissa. Useampi dashboard ei itsessään tuo parempia vastauksia.

Kuvitteellisen vientipalvelun käyttäjä kysyy, saako hän oikean viennin sovitussa ajassa ja oikeilla käyttöoikeuksilla. Valitse signaalit, jotka vastaavat tähän ja auttavat selittämään virheitä.

OpenTelemetry tarjoaa instrumentoinnin välineitä ja telemetriastandardeja. Sillä voi lähettää signaaleja yhteensopiviin backendeihin. Tarvitset edelleen tallennuksen, haut, käyttöoikeudet, säilytysajat ja ihmiset, jotka toimivat havaintojen perusteella. Observabilityn perusteet.

Yhdistä erilaiset havainnot

Metric mittaa suuretta ajan kuluessa. Log tallentaa tapahtuman. Trace yhdistää toisiinsa liittyvät operaatiot pyynnön kulkiessa järjestelmässä. Span kuvaa yhtä operaatiota tracen sisällä.

Operatiivinen kysymysEsimerkkihavaintoHuomioitava raja
Kuinka moni sallittu vienti epäonnistuu?Virheiden määrä ja sallittujen pyyntöjen määräVäärä nimittäjä vääristää virheosuutta
Mitä yhdelle viennille tapahtui?Rakenteinen log, jossa on job ID, tulos ja versioPuuttuvat tapahtumat jättävät aukkoja
Mihin aika kului?Trace API:n, jonon, workerin ja tietokannan läpiSampling ja katkennut context propagation voivat peittää työtä
Mikä muuttui ennen oiretta?Deployment- ja konfiguraatiotiedotAjallinen yhteys ei yksin osoita syytä

Säilytä asynkronisessa työssä turvallinen yhteys vastaanotetun jobin ja workerin suorituksen välillä. HTTP 202 voi tarkoittaa työn vastaanottoa. Se ei osoita viennin valmistuneen.

Hälytä, kun tarvitaan toimintaa

Määritä SLI ja sen nimittäjä ennen SLO:ta. Laske esimerkissä sallitut viennit, jotka valmistuvat oikein sovitussa ajassa. Päätä, miten pitkään jatkuvat ja keskeytetyt jobit vaikuttavat mittaukseen.

Error budget kuvaa SLO:n sallimaa epäonnistumista mittausjaksolla. Burn rate kertoo, kuinka nopeasti virheet kuluttavat budjettia. Googlen ohje yhdistää eri mittausikkunoita, jotta hälytys tulee ajoissa ilman tarpeetonta kohinaa. SLO-pohjaiset hälytykset.

Hälytä päivystäjä, kun tilanne vaatii nopeaa toimintaa. Ohjaa vähemmän kiireellinen työ jonoon. Hälytys tarvitsee omistajan, vaikutuksen kuvauksen, linkin selvitykseen ja toimintaohjeen. Tarkista hälytykset, jotka eivät toistuvasti johda mihinkään.

Älä kopioi samaa kynnysarvoa kaikille palveluille. Käyttäjävaikutus, liikennemäärä, palveluajat ja reagointikyky vaikuttavat päätökseen.

Suojaa telemetriaketju

Telemetriaan voi päätyä henkilötietoja, tokeneita, pyyntöparametreja ja luottamuksellisia dokumentteja. Määritä sallitut kentät ennen keruuta. Rajaa käyttöoikeudet ja säilytysaika. Poista salaisuudet ennen ulkoiseen backendiin lähettämistä. Arkaluonteinen telemetria.

Älä käytä asiakkaan sähköpostia tai yksilöllistä job ID:tä metric labelina. Rajoittamattomat labelit lisäävät aikasarjojen määrää ja voivat paljastaa tunnisteita. Käytä mittareissa hallittuja ulottuvuuksia. Sallitut korrelaatiotunnisteet kuuluvat käyttöoikeuksin suojattuihin logeihin tai traceihin.

Mittaa myös ketjun toimintaa. Tarkista vastaanottovirheet, pudonnut data ja viimeisimmän havainnon ikä. Tasainen virhekäyrä voi tarkoittaa virheettömyyttä tai puuttuvaa telemetriaa. Näytä ero.

Selvitä konkreettinen virhe

Kuvitteellinen palvelu palauttaa jokaisesta pyynnöstä HTTP 202:n. Jonon vanhimman työn ikä kasvaa sekunneista 15 minuuttiin. Workerien logeissa näkyy tietokannan timeouteja. Otostetuissa traceissa suurin osa workerin ajasta kuluu tietokantakutsuihin.

Havainnot rajaavat selvitystä. Ne eivät vielä osoita, johtuuko ongelma querysta, loppuneista yhteyksistä vai tietokannan kapasiteetista. Vertaa hypoteeseja debuggausmenetelmällä.

Taigan Monitoring näyttää tuotteen terveyttä saatavuuden ja selaimesta saatavien kokemussignaalien avulla. Se täydentää infran ja sovelluksen observabilitya. Monitoring.

Sovella käytäntöön

Määritä oppitunnin kuvitteelliselle viennille yksi SLI, toimintaa edellyttävä hälytys, kolme sallittua telemetriakenttää ja kaksi kiellettyä kenttää. Kerro, miten havaitset telemetriaketjun häiriön.

Lataa työpohja (Markdown)

Testaa, mitä opit

Viennin viive kasvaa. Otokseen päätyneissä traceissa näkyy hitaita database spaneja. Mitä voit päätellä?

Lähteet ja lisälukeminen

Aiheesta Taigan sivuilla