Erste Schritte mit Kafka-Client-Metriken

Älterer Geschäftsmann mit Laptop im Café in einem Coworking-Space

Autor

Uche Nwankwo

Product Manager

Event Streams on IBM Cloud

Apache Kafka gilt als weithin anerkannte Open-Source-Plattform für Ereignisspeicherung und Streamverarbeitung. Es hat sich zum De-facto-Standard für Datenstreaming entwickelt, da über 80 % der Fortune-500-Unternehmen es nutzen. Alle großen Cloud-Provider bieten verwaltete Datenstreaming-Dienste an, um dieser wachsenden Nachfrage gerecht zu werden.

Ein wichtiger Vorteil der Entscheidung für verwaltete Kafka-Services ist die Übertragung der Verantwortung für Broker- und Betriebs-Metriken, sodass sich die Benutzer ausschließlich auf die Metriken der Anwendungen konzentrieren können. In diesem Artikel gibt Produktmanager Uche Nwankwo Anleitungen zu einer Reihe von Hersteller- und Verbraucher-Metriken, die Kunden im Auge behalten sollten, um eine optimale Leistung zu erzielen.

Bei Kafka umfasst das Monitoring typischerweise verschiedene Metriken, die sich auf Themen, Partitionen, Broker und Verbrauchergruppen beziehen. Zu den Standard-Kafka-Metriken gehören Informationen über Durchsatz, Latenz, Replikation und Festplattennutzung. Informieren Sie sich in der Kafka-Dokumentation und den entsprechenden Überwachungs-Tools über die spezifischen Metriken, die für Ihre Version von Kafka verfügbar sind, und wie Sie diese effektiv interpretieren können.

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

Warum ist die Überwachung von Kafka-Clients wichtig?

Die Überwachung Ihrer IBM® Event Streams for IBM Cloud-Instanz ist entscheidend, um die optimale Funktionalität und den allgemeinen Zustand Ihrer Datenpipeline sicherzustellen. Die Überwachung Ihrer Kafka-Clients hilft dabei, frühe Anzeichen von Anwendungsfehlern zu erkennen, wie z. B. eine hohe Ressourcennutzung und verzögerte Verbraucher und Engpässe. Durch das frühzeitige Erkennen dieser Warnsignale kann proaktiv auf potenzielle Probleme reagiert werden, wodurch Ausfallzeiten minimiert und Störungen des Geschäftsbetriebs verhindert werden.

Kafka-Clients (Produzenten und Verbraucher) verfügen über eigene Metriken zur Überwachung ihrer Leistung und ihres Zustands. Darüber hinaus unterstützt der Event Streams-Service eine Vielzahl von Metriken, die vom Server erzeugt werden. Weitere Informationen finden Sie unter Überwachung von Event Streams-Metriken mit IBM Cloud Monitoring.

IBM® Kafka

Was ist Kafka?

Whitney Lee von IBM® Cloud erklärt, wie Apache Kafka, eine Open Source-Plattform für verteiltes Streaming, Entwicklern die Entwicklung von Anwendungen ermöglicht, die Event Streams nutzen, um Anwendungen mit hoher Leistung zu erstellen.

Zu überwachende Client-Metriken

Produzentenmetriken

 
 
Record-error-rateDiese Metrik misst die durchschnittliche Anzahl der pro Sekunde gesendeten Datensätze, die zu Fehlern führten. Eine hohe (oder steigende) Fehlerrate bei Datensätzen kann auf einen Datenverlust oder eine nicht wie erwartete Datenverarbeitung hinweisen. All diese Effekte könnten die Integrität der Daten beeinträchtigen, die Sie in Kafka verarbeiten und speichern. Die Überwachung dieser Metrik trägt dazu bei, sicherzustellen, dass die von den Produzenten gesendeten Daten präzise und zuverlässig in Ihren Kafka-Themen aufgezeichnet werden.
 
Request-latency-avgDies ist die durchschnittliche Latenzzeit für jede Produktionsanfrage in Millisekunden. Eine erhöhte Latenz beeinträchtigt die Leistung und kann auf ein Problem hinweisen. Die Messung der Metrik request-latency-avg kann helfen, Engpässe innerhalb Ihrer Instanz zu identifizieren. Für viele Anwendungen ist eine geringe Latenz entscheidend, um eine hochwertige Erfahrung zu gewährleisten und ein Anstieg von request-latency-avg könnte darauf hindeuten, dass Sie die Grenzen Ihrer bereitgestellten Instanz erreichen. Sie können das Problem beheben, indem Sie Ihre Produzenteneinstellungen ändern, z. B. durch Batching oder Skalierung Ihres Tarifs, um die Leistung zu optimieren.
 
Byte-rateDie durchschnittliche Anzahl der pro Sekunde gesendeten Bytes für ein Thema ist ein Maß für Ihren Durchsatz. Wenn Sie regelmäßig Daten streamen, kann ein Rückgang des Durchsatzes auf eine Anomalie in Ihrer Kafka-Instanz hinweisen. Der Tarif Event Streams Enterprise beginnt bei 150 MB pro Sekunde, die eins-zu-eins zwischen Ingress und Egress aufgeteilt werden. Es ist wichtig zu wissen, wie viel davon Sie für eine effektive Kapazitätsplanung verbrauchen. Überschreiten Sie nicht mehr als zwei Drittel des maximalen Durchsatzes, um die möglichen Auswirkungen betrieblicher Maßnahmen wie interne Updates oder Fehlermodi (zum Beispiel den Verlust einer Availability Zone) zu berücksichtigen.
 

Verbrauchermetriken
 

Fetch-rate
fetch-size-avg
Die Anzahl der Abrufanfragen pro Sekunde (fetch-rate) und die durchschnittliche Anzahl der pro Anfrage abgerufenen Bytes (fetch-size-avg) sind wichtige Indikatoren für die Leistungsfähigkeit Ihrer Kafka-Verbraucher. Eine hohe Abrufrate könnte auf Ineffizienz hinweisen, besonders über eine kleine Anzahl von Nachrichten, da dies bedeutet, dass bei jedem Mal unzureichende (möglicherweise gar keine) Daten empfangen werden. fetch-rate und fetch-size-avg werden von drei Einstellungen beeinflusst: fetch.min.bytes, fetch.max.bytes und fetch.max.wait.ms. Passen Sie diese Einstellungen an, um die gewünschte Gesamtlatenz zu erreichen und gleichzeitig die Anzahl der Abrufanfragen und potenziell die Belastung der Broker-CPU zu minimieren. Die Überwachung und Optimierung beider Metriken stellt sicher, dass Sie Daten für aktuelle und zukünftige Workloads effizient verarbeiten.
 
Commit-latency-avgDiese Metrik misst die durchschnittliche Zeit zwischen dem Senden eines Commit-Datensatzes und dem Empfang der Commit-Antwort. Ähnlich wie request-latency-avg als Producer-Metrik bedeutet ein stabiler commit-latency-avg, dass Ihre Offset-Commits zeitnah erfolgen. Eine hohe Commit-Latenz kann auf Probleme beim Verbraucher hinweisen, die ihn daran hindern, Offsets schnell zu übernehmen, was sich direkt auf die Zuverlässigkeit der Datenverarbeitung auswirkt. Es kann zu doppelter Verarbeitung von Nachrichten führen, wenn ein Verbraucher Nachrichten von einem zuvor nicht gebundenen Offset neu starten und neu verarbeiten muss. Eine hohe Commit-Latenz bedeutet auch, dass mehr Zeit für administrative Vorgänge als für die eigentliche Nachrichtenverarbeitung aufgewendet wird. Dieses Problem könnte insbesondere in Umgebungen mit hohem Nachrichtenaufkommen zu einem Rückstau an zu verarbeitenden Nachrichten führen.
 
Bytes-consumed-rate

Dies ist eine Metrik für den Datenabruf durch Verbraucher, die die durchschnittliche Anzahl der pro Sekunde verbrauchten Bytes misst. Ähnlich wie byte-rate als Produzenten-Metrik sollte dies eine stabile und erwartete Metrik sein. Eine plötzliche Änderung des erwarteten Trends bei bytes-consumed-rate könnte auf ein Problem mit Ihren Anwendungen hinweisen. Eine niedrige Rate könnte ein Hinweis auf effiziente Datenabrufe oder überdimensionierte Ressourcen sein. Eine höhere Datenrate könnte die Verarbeitungskapazität der Verbraucher überfordern und daher eine Skalierung erforderlich machen, indem mehr Verbraucher hinzugefügt werden, um die Last auszugleichen, oder indem Verbraucherkonfigurationen, wie z. B. die Abrufgrößen, geändert werden.

 

Rebalance-rate-per-hourDie Anzahl der pro Stunde durchgeführten Neuverteilungen von Gruppen. Die Neuverteilung erfolgt jedes Mal, wenn es einen neuen Verbraucher gibt oder wenn ein Verbraucher die Gruppe verlässt und eine Verzögerung bei der Bearbeitung verursacht. Das passiert, weil Partitionen neu zugewiesen werden, was die Kafka-Verbraucher weniger effizient macht, wenn es viele Neuverteilungen pro Stunde gibt. Eine höhere Neuverteilungsrate pro Stunde kann durch Fehlkonfigurationen verursacht werden, die zu instabilem Verbraucherverhalten führen. Diese Neuverteilung kann zu einer Erhöhung der Latenz und damit zu einem Absturz von Anwendungen führen. Stellen Sie sicher, dass Ihre Verbrauchergruppen stabil sind, indem Sie eine niedrige und stabile Neuverteilungsrate pro Stunde überwachen.

Die Metriken sollten eine Vielzahl von Anwendungen und Anwendungsfällen abdecken. Event Streams auf IBM® Cloud bieten eine Vielzahl von Metriken, die hier dokumentiert sind und je nach Anwendung weitere nützliche Erkenntnisse liefern. Machen Sie den nächsten Schritt. Erfahren Sie mehr über Event Streams für IBM Cloud. 

Was kommt als Nächstes?

Sie verfügen nun über das nötige Wissen, um die wichtigsten Kafka-Clients zu überwachen. Sie sind eingeladen, diese Punkte in die Praxis umzusetzen und das vollständig verwaltete Kafka-Angebot in der IBM Cloud auszuprobieren. Hilfe bei Herausforderungen bei der Einrichtung finden Sie im Leitfaden zum Einstieg und in den FAQs.

 
Weiterführende Lösungen
IBM Event Streams

IBM® Event Streams ist eine Event-Streaming-Software, die auf der Open-Source-Software Apache Kafka basiert. Es ist als vollständig verwalteter Service in der IBM® Cloud oder zum Selbsthosten verfügbar.

Event Streams erkunden
Integrationssoftware und -lösungen

Erschließen Sie Ihr Geschäftspotenzial mit IBM Integrationslösungen, die Anwendungen und Systeme für den schnellen und sicheren Zugriff auf wichtige Daten verbinden.

Erkunden Sie Integrationslösungen
Cloud-Beratungsleistungen

Schalten Sie neue Funktionen frei und steigern Sie die geschäftliche Agilität mit IBM Cloud Consulting Services.

Erkunden Sie Cloud-Beratungsleistungen
Machen Sie den nächsten Schritt

IBM® Event Streams ist eine Event-Streaming-Software, die auf der Open-Source-Software Apache Kafka basiert. Es ist als vollständig verwalteter Service in der IBM® Cloud oder zum Selbsthosten verfügbar.

  1. Event Streams erkunden
  2. Weitere Informationen erhalten