it-swarm.com.de

Überwachungs-Benutzeroberfläche für Apache kafka - kafka manager vs kafka monitor

Ich bin neu bei Kafka. Wir möchten Kafka-Themen überwachen und verwalten. Wir haben verschiedene Open Source-Überwachungstools ausprobiert 

  1. kafka-monitor
  2. kafka-manager

Beide Tools sind gut. Wir können jedoch keine Entscheidung treffen, die in unseren Bereitstellungsstapel aufgenommen werden sollte. Welcher ist besser und warum und in welchem ​​Szenario?

'kafka manager' von Yahoo sieht älter aus und 'kafka monitor' von LinkedIn ist neuer

Kafka Monitor-  enter image description here

9

Landoop 
Landoop erweitert Kafka um Benutzeroberfläche, Streaming-SQL-Engine und Cluster-Überwachung. Es ermöglicht eine schnellere Überwachung von Kafka-Datenpipelines.

Sie bieten einen kostenlosen All-in-One-Docker ( LENSES Box ), der einen einzelnen Broker für bis zu 25 Mio. Nachrichten bedienen kann. Beachten Sie, dass dies für Entwicklungsumgebungen empfohlen wird.

Confluent
Eine weitere Option ist Confluent Enterprise , eine Kafka-Distribution für Produktionsumgebungen. Dazu gehört auch Control Center , ein Verwaltungssystem für Apache Kafka, das die Clusterüberwachung und -verwaltung über eine Benutzeroberfläche ermöglicht.

Yahoo Kafka Manager
Kafka Manager ist ein Tool zur Überwachung von Kafka, das im Vergleich zu den zuvor genannten Tools weniger Funktionalität bietet.

KafDrop
KafDrop ist eine Benutzeroberfläche zum Überwachen von Apache Kafka-Clustern. Das Tool zeigt Informationen wie Broker, Themen, Partitionen an und ermöglicht sogar das Anzeigen von Nachrichten. Es ist eine einfache Anwendung, die auf Spring Boot ausgeführt wird und sehr wenig Konfiguration erfordert.

LinkedIn Burrow
Burrow ist ein Begleiter für die Überwachung von Apache Kafka, der die Überprüfung der Verbraucherverzögerung als Dienst ermöglicht, ohne dass Schwellenwerte festgelegt werden müssen. Es überwacht festgelegte Offsets für alle Verbraucher und berechnet den Status dieser Verbraucher bei Bedarf. Ein HTTP-Endpunkt wird bereitgestellt, um den Status bei Bedarf anzufordern und weitere Informationen zum Kafka-Cluster bereitzustellen. Es gibt auch konfigurierbare Benachrichtigungen, die den Status per E-Mail oder über HTTP-Anrufe an einen anderen Dienst senden können.

Kafka-Tool 
Kafka Tool ist eine GUI-Anwendung zum Verwalten und Verwenden von Apache Kafka-Clustern. Es bietet eine intuitive Benutzeroberfläche, mit der Objekte in einem Kafka-Cluster sowie die in den Themen des Clusters gespeicherten Nachrichten schnell angezeigt werden können. Es enthält Funktionen, die sich sowohl an Entwickler als auch an Administratoren richten.


Wenn Sie sich keine Lizenzen leisten können, wählen Sie Yahoo Kafka Manager, LinkedIn Burrow oder KafDrop. Die Produkte von Confluent und Landoop sind die besten, aber leider müssen sie lizenziert werden. 

30

Bei der Arbeit verwenden wir Kafdrop 3 zum Anzeigen von Broker-Informationen, zum Durchsuchen von Themen und zur Verzögerung von Verbrauchern. Der Hauptgrund für Kafdrop 3 ist, dass wir unser Kafka in der Produktion sperren und alle Produzenten und Konsumenten in einem Kubernetes-Cluster sind. Wir haben auf unseren Entwicklungsmaschinen keinen Zugriff auf Kafka (die Ports sind nicht der Außenwelt ausgesetzt). Also führen wir Kafdrop innerhalb des K8-Clusters aus und geben ihm einen Proxy mit kubectl proxy.

Die Consumer-Lag-Funktion ist nicht so ausgefeilt, wie sie Burrow bietet, ist aber wahrscheinlich gut genug, insbesondere wenn man bedenkt, dass es sich um ein einziges Tool handelt.

Für die Entwicklung (Ausführen von Kafka auf lokal) könnten wir Kafka Tool verwenden, aber genau genommen Es ist nur für den nicht-kommerziellen Gebrauch. Außerdem nützt es nicht viel, wenn Sie eine Verbindung zu einer Produktion Kafka herstellen, die gesperrt wurde.

3
Kacey Bui

Das Kafka Ökosystem leidet zwar in vielerlei Hinsicht an einem offensichtlichen Mangel an Werkzeugen. Überwachung ist eine solche Lücke, aber es ist auch ein ziemlich weites Thema.

Mit Kafka Manager und Monitor erhalten Sie Einblicke in den Zustand der Broker und in einige Messgrößen (Durchsatz, Latenz usw.). Sie möchten jedoch möglicherweise auch den Zustand der Konsumenten und den Inhalt der Themen überwachen (unverzichtbar für das Debuggen von Anwendungen oder nach dem Tod) - weder Manager noch Manager oder Monitor wird das tun. Ich werde vorschlagen, Ihrem Arsenal einige weitere Tools hinzuzufügen:

  • Burrow - Überwacht die Verzögerung von Verbrauchergruppen und löst Warnungen aus, wenn die Verbraucher in Verzug geraten.
  • Kafdrop - Bietet Maklerinformationen und ermöglicht das Durchsuchen von Themeninhalten (sowohl Text- als auch Avro-Formate). Dies ist eine moderne Gabel des ursprünglichen Kafdrop-Projekts.
  • Prometheus und Grafana - es gibt einige Überschneidungen mit Manager/Monitor, aber Prometheus/Grafana sind viel raffinierter, verfügen über umfangreiche Community-Unterstützung und lassen sich einfacher in andere Tools integrieren, lösen automatisch Warnungen aus usw.

Wenn Sie Kafka seit einiger Zeit als Haupt-Messaging-/Ereignis-Backbone für große Microservices-Bereitstellungen ausgeführt haben, können Sie die Bedeutung guter Überwachungs- und Post-Mortem-Tools nicht genug betonen.

3
Emil Koutanov

Wenn Sie für die Lizenzierung und die Unterstützung des Kafka-Clusters bezahlen möchten, können Sie Confluent Control Center verwenden.

Alternativ können Sie die JMX-Exporteure von Datadog und/oder Prometheus/Influxdb (mit Grafana-Dashboards) verwenden, um die Systemüberprüfung des gesamten Systems (CPU, Netzwerk, Speicher usw.) anzuzeigen durch Überwachung der Kafka-Prozesse mit Kafka-Tools 

2
cricket_007

In meiner Firma haben wir das Yahoo-Produkt verwendet, wir haben das LinkedIn-Produkt untersucht und mehrere andere erwähnt. Mein Unternehmen entschied sich letztendlich für Prometheus + Grafana. Jeder liebt es und ich würde es wärmstens empfehlen.

Prometheus + Grafana hat zwei große Vorteile. Die erste ist, dass die Kafka-Metriken vollständig aufgenommen werden, die Visualisierung + Alarmierung erfolgt, aber es ist nicht auf Kafka beschränkt. Während wir ursprünglich nur Kafka überwachen wollten, wollten wir auch Messwerte für HTTP-Server + Datenverkehr, Serverauslastung (CPU/RAM/Festplatte) und benutzerdefinierte Metriken auf Anwendungsebene. Prometheus erledigt alle oben genannten Punkte. Zweitens sind Prometheus + Grafana von sehr hoher Qualität, gut gestaltet und einfach zu bedienen. Viele andere Produkte in diesem Bereich sind alt und kompliziert zu handhaben. Prometheus + Grafana eignet sich hervorragend zum Arbeiten, sie sind sehr anpassbar, poliert und einfach zu bedienen. Grafana verfügt über eine sehr auffällige JavaScript-Oberfläche, mit der Sie genau die benutzerdefinierten Dashboards erstellen können, die Sie möchten. Prometheus verfügt über eine hochentwickelte Metrik-Erfassungs-Engine, eine Speicher-Engine, eine Abfragesprache und ein Alarmierungssystem. So etwas wie Yahoo Kafka Manager hat in allen diesen Kategorien eine viel eingeschränktere Funktionalität.

Wenn Sie Prometheus ausprobieren möchten, müssen Sie zwei Dinge tun:

1) Installieren und konfigurieren Sie den JMX-> Prometheus-Exporter für Ihre Kafka-Broker: https://github.com/prometheus/jmx_exporter

2) Richten Sie einen Prometheus-Server ein, um Metriken zu sammeln und ein Grafana-Dashboard einzurichten, um die gewünschten Diagramme anzuzeigen.

Ich würde auch sagen, dass dies nur für die Überwachung von + Dashboards + Alarmierung ist. Für Verwaltungsfunktionen benötigen Sie noch andere Werkzeuge.

0
clay