Grunderna i Apache Kafka och strömbearbetning · Lektion

Spåra och avisera om consumer lag

Lär Er vad consumer lag innebär, hur det mäts med inbyggda verktyg och hur Ni skapar aviseringar innan konsumenterna hamnar farligt långt efter.

Lektion 4 av 413 steg

Spåra och avisera om consumer lag är en gratis lektion i Grunderna i Apache Kafka och strömbearbetning 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 Grunderna i Apache Kafka och strömbearbetning, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Apache Kafka och strömbearbetning innehåller totalt 4 lektioner.

Vad är konsumenteftersläpning?

Konsumenteftersläpning är skillnaden mellan den senaste offset som producerats till en partition (loggens slutoffset) och den offset som en konsumentgrupp har committat.

Eftersläpningen visar hur långt efter dina konsumenter ligger. En ökande eftersläpning innebär att konsumenterna inte hinner med producenterna.

Varför eftersläpning är viktigt

Stor eftersläpning får verkliga konsekvenser:

  • Föråldrade data nedströms (instrumentpaneler, aviseringar och ML-funktioner).
  • Risk att nå kvarhållningsgränsen och förlora okonsumerade meddelanden.
  • En signal om underdimensionerade konsumenter eller en partition som har fastnat.

Kontrollera eftersläpning från CLI:t

Det snabbaste sättet att se eftersläpningen är att använda kafka-consumer-groups.sh med --describe.

kafka-consumer-groups.sh \
  --bootstrap-server localhost:9092 \
  --describe \
  --group order-processors

Läsa resultatet

Beskrivningsresultatet visar kolumner per partition:

  • CURRENT-OFFSET — den senast committade offseten.
  • LOG-END-OFFSET — den nyaste offseten i partitionen.
  • LAG — skillnaden mellan dem.

Summera LAG över partitionerna för gruppens totala eftersläpning.

Eftersläpning via JMX-mätvärden

Varje konsument exponerar eftersläpning via JMX i gruppen consumer-fetch-manager-metrics.

  • records-lag-max — maximal eftersläpning över tilldelade partitioner.
  • records-lag — eftersläpning per partition.

Dessa mätvärden finns på klientsidan och uppdateras nästan i realtid.

Burrow och Kafka Exporter

För övervakning i produktion kan särskilda verktyg hämta eftersläpningen för alla grupper:

  • Burrow — utvärderar eftersläpningens trend och rapporterar gruppens status (OK/WARN/ERR).
  • kafka_exporter — exponerar eftersläpning som Prometheus-mätvärden.

Prometheus-mätvärde för eftersläpning

Med kafka_exporter är eftersläpningen tillgänglig som en tidsserie med etiketter, som du kan visa i grafer och skapa aviseringar för i Grafana.

# Example Prometheus metric
kafka_consumergroup_lag{consumergroup="order-processors",topic="orders",partition="0"} 1423

Skriva en avisering för eftersläpning

Skapa aviseringar vid ihållande stor eftersläpning, inte vid tillfälliga toppar. En vanlig regel utlöses när den totala eftersläpningen överskrider ett tröskelvärde i flera minuter.

# Prometheus alert rule
- alert: HighConsumerLag
  expr: sum(kafka_consumergroup_lag{consumergroup="order-processors"}) > 10000
  for: 5m
  labels:
    severity: warning

Eftersläpningens ökningstakt kontra absoluta eftersläpning

Enbart den absoluta eftersläpningen kan vara missvisande — 10 000 meddelanden kan motsvara några sekunders data för ett snabbt ämne.

Följ förändringstakten: om eftersläpningen fortsätter att växa förlorar konsumenterna kapplöpningen, även om de aktuella siffrorna ser bra ut.

Minska eftersläpningen

När eftersläpningen ökar kan du bland annat:

  • Lägga till konsumenter (upp till antalet partitioner).
  • Öka antalet partitioner för att möjliggöra mer parallellism.
  • Justera max.poll.records och effektiviteten i bearbetningen.
  • Kontrollera om det finns en långsam eller blockerad partition eller ett problemmappat meddelande.

Bästa praxis för drift

Gör eftersläpning till en central signal:

  • Visa total eftersläpning och eftersläpning per partition i instrumentpaneler för varje kritisk grupp.
  • Skapa aviseringar baserat på eftersläpningens trend, inte bara på tröskelvärden.
  • Håll eftersläpningen långt under kvarhållningsfönstret så att du aldrig förlorar data.

Snabb kontroll

Testa dina kunskaper om konsumenteftersläpning.

Sammanfattning

Du har lärt dig att följa upp och skapa aviseringar för konsumenteftersläpning.

  • Eftersläpning = loggens slutoffset minus den committade offseten.
  • Kontrollera den via kafka-consumer-groups.sh, JMX, Burrow eller kafka_exporter.
  • Skapa aviseringar för ihållande eftersläpning och dess ökningstakt.
  • Minska eftersläpningen genom att skala konsumenter och partitioner samt justera bearbetningen.
Gratis att börja

Lär dig Grunderna i Apache Kafka och strömbearbetning 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
12
Lektioner
48

Vanliga frågor

Är lektionen ”Spåra och avisera om consumer lag” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Apache Kafka och strömbearbetning, inklusive ”Spåra och avisera om consumer lag”, 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 Grunderna i Apache Kafka och strömbearbetning innehåller totalt 4 lektioner.

Vad lär jag mig i ”Spåra och avisera om consumer lag”?

Lär Er vad consumer lag innebär, hur det mäts med inbyggda verktyg och hur Ni skapar aviseringar innan konsumenterna hamnar farligt långt efter. Ni övar på Grunderna i Apache Kafka och strömbearbetning 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 Grunderna i Apache Kafka och strömbearbetning?

Du behöver inga förkunskaper. Utbildningen i Grunderna i Apache Kafka och strömbearbetning 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 ”Spåra och avisera om consumer lag”?

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 Grunderna i Apache Kafka och strömbearbetning-lektionen?

Ja. Varje Grunderna i Apache Kafka och strömbearbetning-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. Kommandoradsverktyg för Kafka
  2. Övervaka Kafka med JMX och verktyg
  3. Säkerhet: autentisering och auktorisering
  4. Spåra och avisera om consumer lag
← Tillbaka till Grunderna i Apache Kafka och strömbearbetning