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.
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.
| Record-error-rate | Diese 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-avg | Dies 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-rate | Die 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. |
| 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-avg | Diese 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-hour | Die 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.
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.
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.
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.
Schalten Sie neue Funktionen frei und steigern Sie die geschäftliche Agilität mit IBM Cloud Consulting Services.