monedula-gitops
GitOps pour Apache Kafka : topics, accès, quotas, schémas, utilisateurs SCRAM et RBAC Confluent, depuis une CLI ou un opérateur Kubernetes.
Cette page a été traduite automatiquement depuis l’anglais. Lire l’original
monedula-metrics-reporter v0.10.0, AGPL-3.0
monedula-metrics-reporter s'exécute dans le broker et pousse les métriques via OTLP vers votre collector : les deux registres de métriques de Kafka, les métriques JVM et la télémétrie client KIP-714, avec l'identité du broker en labels. Si le collector disparaît, Kafka ne s'en aperçoit pas.
VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://repo1.maven.org/maven2/dev/monedula/monedula-metrics-reporter/${VERSION}/monedula-metrics-reporter-${VERSION}.jar VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://github.com/monedula-dev/monedula-metrics-reporter/releases/download/v${VERSION}/monedula-metrics-reporter-${VERSION}.jar metric.reporters=dev.monedula.metricsreporter.OtlpMetricReporter
otlp.metric.reporter.endpoint=http://otel-collector:4317
otlp.metric.reporter.transport=grpc cp monedula-metrics-reporter-0.10.0.jar $KAFKA_HOME/libs/# then add the lines above to server.properties# every series carries the broker's cluster and node IDs as resource attributes
La plupart des métriques Kafka font un détour.
La stack habituelle attache un JMX exporter à chaque broker : il relit les métriques de Kafka dans les MBeans JMX, les mappe vers des noms de métriques avec des fichiers de règles, puis les expose pour un scrape ou les pousse vers un collector.
monedula-metrics-reporter se branche sur l'interface MetricsReporter de Kafka elle-même et parle OTLP directement au collector.
Les callbacks de métriques ne font que mettre à jour une map en mémoire ; toutes les I/O réseau ont lieu sur un thread daemon. Il n'y a ni file de relance ni mémoire non bornée : un collector lent ou absent ne retarde donc jamais les requêtes produce ou fetch.
Comment fonctionne la conception fail-safe (en anglais)
Les brokers Kafka exposent leurs métriques via deux systèmes parallèles. Plusieurs signaux du broker ne s'enregistrent que dans l'ancien registre Yammer, si bien qu'un reporter limité au SPI les manque. Ce plugin se branche sur les deux avec une seule configuration, et le même JAR fonctionne sans modification sur les clients.
UnderReplicatedPartitionsOfflinePartitionsCountActiveControllerCountBrokerTopicMetrics par topicKIP-714
Sur les brokers, le plugin reçoit aussi la télémétrie que poussent les clients KIP-714, comme la latence des requêtes côté client et la durée des rééquilibrages, et la transmet au même collector. Les séries client portent l'identité du broker et le client id, si bien qu'on peut les joindre aux séries broker dans PromQL.
Collecter les métriques client (en anglais)
kafka_cluster_id, kafka_node_id | activé par défaut |
|---|---|
client_id | activé par défaut |
client_instance_id | opt-in, cardinalité élevée |
| principal et adresse du client | opt-in, données personnelles |
Le quickstart démarre Kafka, le reporter, un OpenTelemetry Collector, Prometheus et Grafana avec Docker Compose, avec des dashboards Grafana et des règles d'alerte Prometheus prêts à l'emploi.
Le quickstart Grafana (en anglais)
VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://repo1.maven.org/maven2/dev/monedula/monedula-metrics-reporter/${VERSION}/monedula-metrics-reporter-${VERSION}.jar VERSION=0.10.0
curl -L -o monedula-metrics-reporter-${VERSION}.jar \
https://github.com/monedula-dev/monedula-metrics-reporter/releases/download/v${VERSION}/monedula-metrics-reporter-${VERSION}.jar Coordonnées dev.monedula:monedula-metrics-reporter. Chaque release GitHub contient aussi le JAR, avec un SBOM CycloneDX et des signatures Sigstore.
Nous pouvons vous aider à mettre en œuvre monedula-metrics-reporter sur un parc étendu, de la conception à l’exploitation au quotidien.
D’autres outils gratuits pour Apache Kafka, par la même équipe. À propos de Flock
GitOps pour Apache Kafka : topics, accès, quotas, schémas, utilisateurs SCRAM et RBAC Confluent, depuis une CLI ou un opérateur Kubernetes.
Une CLI qui convertit les ACL Apache Kafka en bindings RBAC Confluent via un plan avec checksum et vérifie l'accès effectif avant toute suppression d'ACL.
Une CLI Go en lecture seule qui transforme un vrai cluster Kafka en lien Kafka Simulator partageable, avec un serveur MCP pour les agents IA.
Un simulateur Apache Kafka interactif et déterministe dans le navigateur : cassez un cluster, parcourez la chronologie et lisez pourquoi il a réagi.