DevOps-bootcamp · Lektion

Distribuerad spårning och händelser

Komplettera verktygslådan för observability med distribuerad spårning av begärandeflöden och Kubernetes Events för signaler på klusternivå.

Lektion 4 av 413 steg

Distribuerad spårning och händelser är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Observabilitys tre grundpelare

Observability vilar på tre grundpelare: loggar, mätvärden och spårningar. Ni har sett loggar och mätvärden tidigare; i den här lektionen tillkommer tracing samt Kubernetes Events.

Vad är distribuerad tracing?

Distribuerad tracing följer en enskild begäran när den färdas genom flera tjänster. Den visar var tiden spenderas och vilken tjänst som orsakade ett fel.

Spans och traces

En trace är en begärans hela resa. Varje steg är en span med starttid, varaktighet och metadata. Spans bäddas in i varandra och bildar ett träd.

# A trace for one checkout request
# trace_id: abc123
#  span: api-gateway        (40ms)
#    span: order-service    (25ms)
#      span: db-query       (15ms)
#    span: payment-service  (10ms)

Propagering av kontext

För att tracing ska fungera skickar tjänster en trace context i begärans headers, så att varje hopp kopplas till samma trace.

# W3C Trace Context header
traceparent: 00-abc123def456-00f067aa0ba902b7-01

OpenTelemetry

OpenTelemetry (OTel) är standarden för att instrumentera appar och exportera traces. En OTel Collector kan köras i klustret för att ta emot och vidarebefordra spans.

Tracing-backends

Spans skickas till en backend som Jaeger eller Tempo, som lagrar och visualiserar traces så att Ni kan undersöka långsamma begäranden i detalj.

# deploy a collector that exports to Jaeger
kubectl get pods -n observability -l app=otel-collector

Kubernetes Events

Separat från apptraces genererar Kubernetes Events som beskriver vad klustret gör: schemaläggning, hämtning av avbildningar, misslyckade probes och mycket annat.

kubectl get events --sort-by=.lastTimestamp

Läsa Events för en resurs

kubectl describe visar de Events som hör till ett specifikt objekt. Det är ofta det snabbaste sättet att se varför en Pod har fastnat.

kubectl describe pod my-app
# Events:
#  Warning  FailedScheduling  no nodes available
#  Normal   Scheduled         assigned to node-2
#  Warning  BackOff           restarting failed container

Events är kortlivade

Events upphör som standard att gälla efter ungefär en timme. För långsiktig historik över klustret bör Ni exportera dem till en logging- eller events-backend, så att Ni inte förlorar informationen.

Korrelera signaler

Den verkliga styrkan kommer från att korrelera alla källor: en topp i ett mätvärde leder Er till en trace, tracen pekar på en tjänst och dess loggar plus Events förklarar grundorsaken.

När Ni bör använda tracing

  • En begäran är långsam, men Ni vet inte vilken tjänst som är orsaken
  • Fel uppstår långt ner i en kedja av mikrotjänster
  • Ni behöver förstå beroenden mellan tjänster

Snabbkontroll

Testa Era kunskaper om tracing.

Sammanfattning

Ni har lagt till den tredje observability-pelaren: distribuerad tracing följer begäranden genom tjänster med hjälp av spans och kontextpropagering, ofta via OpenTelemetry till Jaeger eller Tempo. Ni har också lärt Er att läsa kortlivade Kubernetes-Events för diagnostik på klusternivå och att korrelera loggar, mätvärden, traces och events.

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Distribuerad spårning och händelser” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Distribuerad spårning och händelser”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Distribuerad spårning och händelser”?

Komplettera verktygslådan för observability med distribuerad spårning av begärandeflöden och Kubernetes Events för signaler på klusternivå. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Distribuerad spårning och händelser”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Loggning med kubectl logs
  2. Mätvärden med Prometheus och Grafana
  3. Hälsokontroller: liveness- och readiness-prober
  4. Distribuerad spårning och händelser
← Tillbaka till DevOps-bootcamp