Havainnoi palvelua ja käyttäjien kokemusta
Yhdistä metrics, logs ja traces palvelun tavoitteisiin. Suunnittele hälytykset, tietorajat ja puuttuvan telemetrian tunnistaminen.
Julkaisija TaigaNä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 kysymys | Esimerkkihavainto | Huomioitava 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 versio | Puuttuvat tapahtumat jättävät aukkoja |
| Mihin aika kului? | Trace API:n, jonon, workerin ja tietokannan läpi | Sampling ja katkennut context propagation voivat peittää työtä |
| Mikä muuttui ennen oiretta? | Deployment- ja konfiguraatiotiedot | Ajallinen 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
Lähteet ja lisälukeminen
- OpenTelemetry: Observability primer ↗
- OpenTelemetry: Handling sensitive data ↗
- Google SRE: Alerting on SLOs ↗
- Taiga docs: Monitoring ↗
Aiheesta Taigan sivuilla
Valinnan poistaminen poistaa kaikki tälle selaimelle tallennetut suoritusmerkinnät.
Edistyminen tallentuu tähän selaimeen. Ei käyttäjätiliä eikä seurantaa.