Neuigkeiten von trion.
Immer gut informiert.

Monitoring von Anwendungen mit Kafka

Kafka

Kafka ist eine mächtige Plattform, die sich immer größerer Beliebtheit erfreut. Herausstechende Eigenschaften der Plattform sind:

  • Horizontale Skalierbarkeit bei gleichzeitigem Erhalt der Nachrichtenreihenfolge

  • Entkopplung von Sender und Empfänger durch die dauerhafte Speicherung der Nachrichten

  • Starke Garantien bezüglich Replizierung und Ausfallsicherheit

Um die Kerntechnologie Apache Kafka hat sich ein großes Ökosystem verschiedenster Anwendungen und Technologien entwickelt, die auf der Messaging-Middleware aufbauen und deren Stärken und Fähigkeiten nutzen. Diese Stärken und Fähigkeiten basieren auf dem Bruch mit den Paradigmen klassischer Messaging-Systeme und einer auf den Linux-Kernel maßgeschneiderten Architektur:

  • Logbasiert: Unveränderliche, dauerhaft gespeicherte Datenströme mit wahlfreiem Zugriff der Consumer

  • Konsequente Umsetzung des Prinzips Dumb Pipeline: Die Broker kennen die Producer und Consumer nicht

  • Minimierung der I/O-Zugriffe durch Ausnutzung des Page-Caches und weiterer Linux-Features

Da die Architektur von Kafka in vielen spielentscheidenden Punkten von der Architektur klassischer Messaging-Middleware abweicht, ist für das Monitoring einer auf Kafka basierenden Anwendung ein fundiertes Grundwissen über diese Besonderheiten unerlässlich. Wir haben uns daher vorgenommen, in einer Serie von Blog-Artikeln einen Überblick über die wichtigsten Aspekte beim Monitoring auf Kafka basierender Anwendungen zu geben. Dabei möchten wir "die wichtigsten" Metriken nicht nur auflisten, wie bereits in zahlreichen anderen Quellen zu dem Thema geschehen. Vielmehr soll der Zusammenhang der einzelnen Metriken zu den architektonischen Besonderheiten von Apache Kafka dargestellt werden, um die Bedeutung der gemessenen Werte greifbar zu machen und so eine fundierte Bewertung der Messdaten für den Betrieb zu ermöglichen.

Der 1. Teil der Artikel-Serie gibt einen Überblick über die Architektur von Kafka. Die folgenden Artikel aus dieser Serie werden sich dann mit dem Monitoring der einzelnen Komponenten einer auf Kafka basierenden Anwendung beschäftigen und dabei jeweils auf die zu beachtenden Besonderheiten und deren architektonischen Hintergründe eingehen:

  • Monitoring von Kafka-Brokern

  • Monitoring der Clients (Producer/Consumer)

  • Monitoring von Zookeeper

Ausblick

Für den nächsten Teil der Serie haben wir uns die Beschäftigung mit dem Monitoring der Broker eines Kafka-Clusters vorgenommen. Dabei wollen wir zeigen, inwiefern sich die Eigenheiten der Architektur von Kafka in den zu beobachtenden Metriken wiederspielen. Außerdem soll vor dem Hintergrund des hier gegebenen Überblicks über die Architektur von Kafka erläutert werden, warum es genügt die in zahlreichen Quellen genannten "wichtigsten Metriken" zu beobachten und wie mögliche Fehlerursachen durch die Analyse weiterer Metriken eingegrenzt werden können, wenn die beobachteten Messwerte Auffälligkeiten zeigen.

Zu den Themen Kafka, Cassandra und vielem Mehr bieten wir sowohl Beratung, Entwicklungsunterstützung als auch individuelle Schulungen an:

Auch für Ihren Bedarf können wir Workshops und Schulungen anbieten. Sprechen Sie uns gerne an.

Feedback oder Fragen zu einem Artikel - per Twitter @triondevelop oder E-Mail freuen wir uns auf eine Kontaktaufnahme!

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.