Udnyt tracing-værktøjer (f.eks. OpenTelemetry)
Få praktisk erfaring med populære værktøjer og standarder til distributed tracing, såsom OpenTelemetry, for effektiv overvågning.
Udnyt tracing-værktøjer (f.eks. OpenTelemetry) er en gratis Køreklare fejl og beredskab ved hændelser-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Køreklare fejl og beredskab ved hændelser, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Køreklare fejl og beredskab ved hændelser-kurset indeholder 4 lektioner i alt.
Introduktion til tracingværktøjer
I distribuerede systemer berører en enkelt brugeranmodning ofte mange tjenester. Det er vigtigt at forstå dens forløb, når du skal fejlfinde.
Manuel logging på tværs af tjenester bliver hurtigt et mareridt. Her kommer specialiserede tracingværktøjer ind i billedet, fordi de automatiserer indsamlingen og visualiseringen af disse anmodningsforløb.
Mød OpenTelemetry (OTel)
OpenTelemetry (OTel) er et leverandørneutralt open source-sæt af API'er, SDK'er og værktøjer.
- Det er udviklet til at standardisere, hvordan du indsamler telemetridata: traces, metrikker og logs.
- Til tracing hjælper OTel dig med at instrumentere dine applikationer, så de genererer og eksporterer tracedata til en backend efter eget valg.
OTel-begreber: Tracere og spans
Tracere og spans er centrale i OTel-tracing:
- En tracer er et objekt, der opretter
Span-objekter. - En span repræsenterer en enkelt arbejdsenhed i et trace. Den har et navn, start- og sluttidspunkter samt attributter.
- Spans kan indlejres i hinanden og danne relationer mellem forældre og børn, så handlingernes forløb bliver synligt.
OTel-begreber: Kontekstformidling
Hvordan ved spans, at de hører til den samme anmodning, selv på tværs af forskellige tjenester?
Det håndteres af kontekstformidling. OTel sikrer, at entydige trace-identifikatorer sendes videre sammen med anmodninger, så spans forbindes og danner et komplet trace.
Det svarer til at sende et særligt ID-kort videre sammen med en opgave, så alle ved, at den er en del af det samme projekt.
Konfiguration af OTel til din app
For at bruge OpenTelemetry skal du typisk:
- Tilføje OTel SDK'et til dit projekt (f.eks. via Maven eller npm).
- Initialisere OTel SDK'et, når applikationen starter.
- Konfigurere en eksportør, der sender dine tracedata til en indsamlingsbackend.
Denne opsætning gør det muligt for OTel at instrumentere din kode automatisk eller manuelt.
Opret din første span
Lad os se et grundlæggende Java-eksempel på, hvordan du opretter og afslutter en span. Denne kode bruger en ConsoleSpanExporter til at udskrive oplysninger om spans i konsollen.
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.export.ConsoleSpanExporter;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
public class SimpleSpanDemo {
private static final OpenTelemetry openTelemetry;
private static final Tracer tracer;
static {
// Configure OpenTelemetry SDK with a console exporter
SdkTracerProvider tracerProvider = SdkTracerProvider.builder()
.addSpanProcessor(SimpleSpanProcessor.create(ConsoleSpanExporter.create()))
.build();
openTelemetry = OpenTelemetrySdk.builder()
.setTracerProvider(tracerProvider)
.buildAndRegisterGlobal();
tracer = openTelemetry.getTracer("my-app", "1.0.0");
}
public static void main(String[] args) {
System.out.println("App starting...");
Span span = tracer.spanBuilder("processRequest").startSpan();
try {
System.out.println("Inside 'processRequest' span.");
Thread.sleep(100); // Simulate work
span.setAttribute("request.id", "XYZ123");
span.setAttribute("user.name", "coddy");
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
} finally {
span.end();
System.out.println("Span 'processRequest' ended.");
}
System.out.println("App finished.");
}
}Forstå span-attributter
I eksemplet brugte vi span.setAttribute("key", "value").
Attributter er nøgle-værdi-par, der giver dine spans en fyldig kontekst. De hjælper dig med at forstå, hvad der skete under den pågældende arbejdsenhed.
Eksempler omfatter bruger-ID'er, anmodningsparametre, detaljer om databaseforespørgsler eller fejlmeddelelser. Disse attributter gør dine traces langt mere nyttige ved fejlfinding.
Forbindelse af spans på tværs af tjenester
Når en anmodning forlader én tjeneste og kommer ind i en anden, bruger OTel injektorer og ekstraktorer til at håndtere kontekst.
- Den afsendende tjeneste indsætter tracekontekst (f.eks. trace-id'et) i anmodningens headers.
- Den modtagende tjeneste udtrækker denne kontekst for at oprette nye spans, der er børn af den indkommende span.
Denne problemfri videreførelse af kontekst er afgørende for at opbygge traces fra start til slut på tværs af dine mikrotjenester.
Eksport og visualisering af traces
Når din applikation har genereret spans, sender OTel-eksportøren dem til et backend-system.
Populære tracing-backends som Jaeger, Zipkin eller kommercielle observability-platforme (f.eks. DataDog og New Relic) indsamler og gemmer derefter disse data.
Disse backends tilbyder effektive brugergrænseflader til at visualisere hele tracets forløb, herunder en anmodnings vej gennem alle tjenester og dens latenstid ved hvert trin.
Hurtig test: OTel-tracing
Test din forståelse af OpenTelemetrys tracingfunktioner.
Opsummering: OTel i praksis
Tillykke! Du har lært om OpenTelemetry og dets rolle i distribueret tracing.
- OTel tilbyder en standardiseret måde at instrumentere din kode på.
- Vigtige begreber omfatter tracere, spans og kontekstformidling.
- Du kan føje brugerdefinerede attributter til spans for at give dem en fyldig kontekst.
- Traces eksporteres til backends, så de kan visualiseres og analyseres effektivt.
Denne viden er afgørende for at opnå dyb indsigt i dine distribuerede systemer!
Lær Køreklare fejl og beredskab ved hændelser med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Udnyt tracing-værktøjer (f.eks. OpenTelemetry)” gratis?
Ja — alle 3 lektioner i læringssporet Køreklare fejl og beredskab ved hændelser, inklusive “Udnyt tracing-værktøjer (f.eks. OpenTelemetry)”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Køreklare fejl og beredskab ved hændelser-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Udnyt tracing-værktøjer (f.eks. OpenTelemetry)”?
Få praktisk erfaring med populære værktøjer og standarder til distributed tracing, såsom OpenTelemetry, for effektiv overvågning. Du øver dig i Køreklare fejl og beredskab ved hændelser med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Køreklare fejl og beredskab ved hændelser?
Der kræves ingen tidligere erfaring. Køreklare fejl og beredskab ved hændelser på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Udnyt tracing-værktøjer (f.eks. OpenTelemetry)”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Køreklare fejl og beredskab ved hændelser-lektion?
Ja. Alle Køreklare fejl og beredskab ved hændelser-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til distributed tracing
- Udnyt tracing-værktøjer (f.eks. OpenTelemetry)
- Fejlfinding i microservices-arkitekturer
- Korrelation af traces, logs og metrics