31 votes

Interface de surveillance pour Apache kafka - gestionnaire de kafka et moniteur de kafka

Je suis novice en matière de kafka. Nous voulons surveiller et gérer les sujets kafka. Nous avons essayé différents outils de surveillance open source comme

  1. kafka-monitor
  2. kafka-manager

Les deux outils sont bons. Mais nous ne sommes pas en mesure de décider lequel doit être inclus dans notre pile de déploiement. Lequel est le meilleur et pourquoi, et dans quel scénario ?

Le "kafka manager" de Yahoo semble être le plus ancien et le "kafka monitor" de LinkedIn est le plus récent.

Kafka Monitor- enter image description here

0 votes

Pour la configuration de Kafka-manager, suivez ce qui suit - codeforgeek.com/setting-up-kafka-management-for-kafka-cluster

90voto

Giorgos Myrianthous Points 4215

Lentilles
Lentilles (ex Landoop) améliore Kafka avec une interface utilisateur, un moteur de streaming SQL et la surveillance des clusters. Il permet une surveillance plus rapide des pipelines de données Kafka.

Ils fournissent un docker tout-en-un gratuit ( Boîte à lentilles ) qui peut servir un seul courtier pour un maximum de 25 millions de messages. Notez que cette solution est recommandée pour les environnements de développement.

Cloudera SMM
Streams Messaging Manager est la solution pour surveiller et gérer les clusters utilisant Cloudera ou Hortonworks kafka. Elle est également dotée d'une fonction de réplication.

Confluent
Une autre option est Confluent Enterprise qui est une distribution Kafka pour les environnements de production. Elle comprend également Centre de contrôle Apache Kafka, qui est un système de gestion pour Apache Kafka permettant la surveillance et la gestion des clusters à partir d'une interface utilisateur.

Yahoo CMAK (Cluster Manager for Apache Kafka, précédemment connu sous le nom de Kafka Manager)
Gestionnaire Kafka ou CMAK est un outil de surveillance de Kafka offrant moins de fonctionnalités par rapport aux outils susmentionnés.

KafDrop
KafDrop est une interface utilisateur pour la surveillance des clusters Apache Kafka. L'outil affiche des informations telles que les brokers, les sujets, les partitions, et vous permet même de visualiser les messages. Il s'agit d'une application légère qui fonctionne sur Spring Boot et nécessite très peu de configuration.

LinkedIn Burrow
Brouillon est un compagnon de surveillance pour Apache Kafka qui fournit une vérification du décalage des consommateurs en tant que service sans qu'il soit nécessaire de spécifier des seuils. Il surveille les décalages engagés pour tous les consommateurs et calcule le statut de ces consommateurs à la demande. Un point de terminaison HTTP est fourni pour demander le statut à la demande, ainsi que pour fournir d'autres informations sur le cluster Kafka. Il existe également des notificateurs configurables qui peuvent envoyer l'état par e-mail ou par appel HTTP à un autre service.

Outil Kafka
Outil Kafka est une application GUI pour gérer et utiliser les clusters Apache Kafka. Elle offre une interface utilisateur intuitive qui permet de visualiser rapidement les objets d'un cluster Kafka ainsi que les messages stockés dans les sujets du cluster. Elle contient des fonctionnalités destinées à la fois aux développeurs et aux administrateurs.


Si vous ne pouvez pas vous permettre d'acheter des licences, optez pour Yahoo Kafka Manager, LinkedIn Burrow ou KafDrop. Les produits de Confluent et de Landoop sont les meilleurs du marché, mais malheureusement, ils nécessitent des licences.

Pour plus de détails, vous pouvez vous référer à mon article de blog Aperçu des outils de surveillance de l'interface utilisateur pour les clusters Apache Kafka .

3 votes

Il existe un autre outil appelé KafkaEsque qui est similaire à Kafka Tool mais disponible sous licence GPL (cf. github.com/patschuh/KafkaEsque ).

5 votes

KaDeck est entièrement gratuit pour les développeurs. À l'heure où nous écrivons ces lignes, il s'agit probablement de la meilleure solution pour les entreprises et les développeurs. Elle ne nécessite aucune installation d'infrastructure supplémentaire et fournit des informations détaillées sur les enregistrements de données, y compris un filtrage pour les fenêtres temporelles, ce qui est très utile. Il fonctionne comme une application de bureau et un service Web.

0 votes

github.com/tchiotludo/kafkahq peut être ajouté à cette liste pour la gestion et la navigation dans les sujets kafka.

6voto

cricket_007 Points 6938

Si vous souhaitez payer pour les licences et le support des clusters Kafka, vous pouvez alors utiliser Centre de contrôle Confluent

Alternativement, la voie libre serait d'utiliser les exportateurs JMX de Datadog et/ou Prometheus/Influxdb (avec des tableaux de bord Grafana) pour voir les contrôles de santé globale du système (CPU, réseau, mémoire, etc).... Beaucoup plus d'informations que ce que vous obtenez uniquement en surveillant les processus Kafka avec les outils Kafka.

3voto

clay Points 304

Dans mon entreprise, nous avons utilisé le produit Yahoo, nous avons étudié le produit LinkedIn, et plusieurs autres mentionnés. Mon entreprise a finalement choisi d'utiliser Prometheus+Grafana. Tout le monde l'adore et je le recommande vivement.

Il y a deux grands avantages à Prometheus+Grafana. Le premier est qu'il permet l'ingestion, la visualisation et l'alerte de métriques Kafka complètes, mais il n'est pas limité à Kafka. Alors que nos besoins initiaux étaient uniquement de surveiller Kafka, nous voulions également des mesures sur les serveurs HTTP et le trafic, l'utilisation des serveurs (cpu/ram/disk), et des mesures personnalisées au niveau des applications. Prometheus gère tous ces éléments. Deuxièmement, Prometheus et Grafana sont de très haute qualité, bien conçus et faciles à utiliser. Beaucoup d'autres produits dans ce domaine sont vieux et compliqués à utiliser. Prometheus et Grafana sont tous deux excellents, ils sont très personnalisables, bien conçus et faciles à utiliser. Grafana possède une interface JavaScript très flashy et fonctionnelle qui vous permet de créer exactement les tableaux de bord personnalisés que vous souhaitez. Prometheus possède un moteur de collecte de métriques, un moteur de stockage, un langage d'interrogation et un système d'alerte très aboutis. Quelque chose comme Yahoo Kafka Manager a des fonctionnalités beaucoup plus limitées dans toutes ces catégories.

Si vous voulez essayer Prometheus, vous devez faire deux choses :

1) installer+configurer l'exportateur JMX->Prometheus sur vos brokers Kafka : https://github.com/prometheus/jmx_exporter

2) Configurez un serveur Prometheus pour collecter les métriques + et configurez un tableau de bord Grafana pour afficher les graphiques que vous souhaitez.

Je dirais aussi que c'est juste pour le suivi+tableaux de bord+alertes. Pour les fonctions de gestion, vous avez toujours besoin d'autres outils.

0 votes

Connaissez-vous un dépôt de tableaux de bord Kafka préétablis pour Grafana ?

1 votes

J'ai créé le mien, mais il y en a qui sont prêts à l'emploi : grafana.com/dashboards?search=kafka . Je pense que Datadog en a aussi.

0 votes

Merci :) Je ne savais pas si vous en connaissiez d'autres. J'utilise actuellement DataDog au travail, mais je voulais mettre en place un homelab pour jouer avec Influx et Grafana.

0voto

Anders Eriksson Points 43

Le kafka-monitor est (malgré son nom) un outil de génération de charge et de rapport. Le kafka-manager de Yahoo est un outil de surveillance globale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X