monedula-gitops
GitOps für Apache Kafka: Topics, Zugriff, Quotas, Schemas, SCRAM-Benutzer und Confluent RBAC, per CLI oder Kubernetes-Operator.
Diese Seite wurde maschinell aus dem Englischen übersetzt. Original lesen
monedula-sim-link v0.11.0, Apache-2.0
Um einen echten Kafka-Cluster zu visualisieren, erstellt monedula-sim-link einen einzigen Snapshot davon und gibt einen Link aus, der den Kafka Simulator in der Form dieses Clusters öffnet: Broker, Topics, Partitionsplatzierung, Ausfälle, eine Stichprobe des Datenvolumens, Consumer Groups und Topic-Konfigurationen. Teilen Sie den Link, oder lassen Sie ihn von einem KI-Agenten über MCP erstellen.
go install github.com/monedula-dev/monedula-sim-link/cmd/monedula-sim-link@latest VERSION=0.11.0
curl -L -o monedula-sim-link.tar.gz \
https://github.com/monedula-dev/monedula-sim-link/releases/download/v${VERSION}/monedula-sim-link_${VERSION}_linux_amd64.tar.gz
tar -xzf monedula-sim-link.tar.gz monedula-sim-link monedula-sim-link connect --brokers localhost:9092 --topics orders,payments# one snapshot of orders and payments, printed as one linkhttps://monedula.dev/kafka-simulator/playground?scenario=free&actions=…&size=3x6x3x…
Der ausgegebene Link ist hier gekürzt.
connectBroker, Topics, Partitionen, Consumer Groups und Topic-Konfigurationen einmal lesen.
Namen zuordnenBroker werden zu broker-1 bis broker-N. Namen, die der Simulator nicht übernehmen kann, werden umbenannt, und --dry-run zeigt die Tabellen.
validierenDer Link muss sich zu denselben Aktionen dekodieren lassen und in 2048 Zeichen passen (--force lockert nur die Länge), sonst wird kein Link ausgegeben.
URL ausgebenEin Link auf der Standardausgabe. Derselbe Snapshot ergibt immer dieselbe URL.
Link öffnenDer Playground öffnet eine Free-Play-Session in der Form Ihres Clusters.
connect produziert keine Records, erstellt oder ändert keine Topics oder Konfigurationen, tritt keiner Consumer Group bei und committet keinen Offset. Der Metadata-Request wird mit AllowAutoTopicCreation=false gesendet, sodass das Nachschlagen eines Topics es nie anlegen kann. Es genügt ein Principal mit der Berechtigung Describe für den Cluster, seine Topics und Consumer Groups sowie DescribeConfigs für die Topic-Konfigurationen. Nur das optionale Flag --producers braucht mehr: sein DescribeProducers-Request verlangt die Berechtigung Read für die ausgewählten Topics.
Die gesamte Client-Oberfläche liegt in einer einzigen Quelldatei, snapshot/kafka.go, sodass Sie die Garantie an einer Stelle prüfen können, und eine End-to-End-Suite gegen einen KRaft-Cluster mit drei Knoten, mit Images von Apache Kafka und Confluent Platform, prüft, dass sich nichts geändert hat.
Die Nur-Lese-Garantie (auf Englisch)
ApiVersions | der Client-Handshake |
|---|---|
Metadata | Broker, Topics, Leader, Replikate, In-Sync-Replikate |
ListOffsets | frühester und letzter Offset jeder Partition |
ListGroups | die Consumer Groups |
FindCoordinator | die Suche nach dem Koordinator jeder Gruppe |
DescribeGroups | ihr Zustand und ihre Mitglieder |
OffsetFetch | die Offsets, die sie committet haben |
DescribeConfigs | die Konfigurationen der ausgewählten Topics |
DescribeProducers | nur mit --producers: idempotente und transaktionale Producer, die kürzlich geschrieben haben |
Der Link öffnet im Kafka Simulator eine Free-Play-Session, die wie Ihr Cluster geformt ist. Sie ist eine Rekonstruktion aus einem Snapshot und sagt deshalb, was sie annähert: Exakte echte Offsets, der Controller und das Rack-Layout werden nicht übernommen, und die Records sind synthetisch.
Was der Link zeigt (auf Englisch)
cleanup.policy, min.insync.replicas, retention.ms, retention.bytesDer Playground verwirft fehlerhafte Einträge stillschweigend, sodass ein subtil falscher Link eine Session öffnen würde, die richtig aussieht und etwas anderes zeigt.
Selbstvalidierung vor der Ausgabe (auf Englisch)
| 1 | Das Action-Log muss den Round Trip bestehen: kodieren, dekodieren, kodieren, identisch. Nie übersteuerbar. |
|---|---|
| 2 | Der Link darf höchstens 2048 Zeichen lang sein. --force stuft diese Prüfung zu einer Warnung herab. |
Echte Cluster
Verbinden Sie sich über Plaintext, TLS oder Mutual TLS, mit SASL PLAIN, SCRAM-SHA-256 oder SCRAM-SHA-512. Wählen Sie Topics nach exaktem Namen, per regulärem Ausdruck oder beidem.
Nutzen Sie lieber die Umgebungsvariable MONEDULA_SIM_LINK_PASSWORD als --password, damit das Secret nicht in Ihrer Shell-History landet.
Mit einem abgesicherten Cluster verbinden (auf Englisch)
export MONEDULA_SIM_LINK_PASSWORD='...'
monedula-sim-link connect \
--brokers broker1.example.com:9093,broker2.example.com:9093 \
--tls --ca-cert ./cluster-ca.pem \
--sasl-mechanism scram-sha-512 --username viewer --dry-run gibt vor dem Link den Größenparameter aus, die Tabellen, die echte Broker-, Topic- und Gruppennamen auf die Namen abbilden, die der Simulator zeigt, und die dekodierte Aktionsliste.
Ohne Cluster zur Hand schickt demo --dry-run eine eingebaute Fixture durch dieselbe Pipeline. Die gezeigte Ausgabe stammt von dieser Fixture.
Einen Link vor dem Teilen prüfen (auf Englisch)
monedula-sim-link demo --dry-run
size: 4x3x3xpayments~1~2~1~d~~~~
brokers:
1 -> broker-1
2 -> broker-2
3 -> broker-3
4 -> broker-4
topics:
orders -> orders
payments -> payments
actions (19 entries):
RP:p1@500
RG:c1@750
RA:orders:2:broker-3.broker-1.broker-2@1000
K:broker-4@1250
SR:broker-2:1@1500
... Für KI-Agenten
monedula-sim-link mcp stellt das Model Context Protocol über stdio bereit, sodass Claude Code, Claude Desktop oder ein anderer MCP-Client Links erstellen kann. Seine vier Tools sind build_playground_url, open_scenario, validate_actions und cluster_to_url, das einen laufenden Cluster genauso erfasst wie connect.
Den MCP-Server nutzen (auf Englisch)
{
"mcpServers": {
"monedula-sim-link": {
"command": "monedula-sim-link",
"args": ["mcp"]
}
}
} go install github.com/monedula-dev/monedula-sim-link/cmd/monedula-sim-link@latest VERSION=0.11.0
curl -L -o monedula-sim-link.tar.gz \
https://github.com/monedula-dev/monedula-sim-link/releases/download/v${VERSION}/monedula-sim-link_${VERSION}_linux_amd64.tar.gz
tar -xzf monedula-sim-link.tar.gz monedula-sim-link Release-Archive für Linux, macOS und Windows auf amd64 und arm64, mit einer Prüfsummendatei, liegen auf der Releases-Seite. Für einen Build aus dem Quellcode brauchen Sie Go 1.25 oder neuer. Weiter: Ihren Cluster im Simulator sehen (auf Englisch).
connect spricht mit Ihrem Cluster und mit nichts anderem und gibt dann einen Link aus. Ihre Credentials dienen nur zum Öffnen der Verbindung und sind nicht Teil des Links, der Link benennt Broker als broker-1 bis broker-N, und das Tool liest nie die Keys oder Values Ihrer Records. In den Link geht dagegen die Topologie ein: die Anzahl der Broker, die Namen der gezeigten Topics, ihre Partitionszahlen, Replikationsfaktoren und ausgewählten Konfigurationen, die Namen der Consumer Groups, aus Client-IDs abgeleitete Mitgliedsnamen, mit --producers die Producer-IDs von bis zu vier Producern, die kürzlich geschrieben haben, und etwaige Ausfälle. Gehen Sie beim Teilen davon aus, dass der Link diese Namen enthält, und zeigen Sie mit --topics nur die Topics, die Sie teilen möchten. Siehe Was der Link zeigt (auf Englisch).connect behält die Topics und Consumer Groups, in denen am meisten passiert, und warnt, welche es behalten hat: zuerst die mit --topics genannten Topics, dann Topics mit unterreplizierten oder Offline-Partitionen, Consumer-Lag oder lesenden Gruppen, und die Gruppen mit dem größten Lag. Bei mehr als 10 Brokern oder mehr als 24 Partitionen pro Topic schlägt es fehl und gibt keinen Link aus, es sei denn, Sie übergeben --clamp, um sie deterministisch zu kürzen. Siehe Große Cluster behandeln (auf Englisch).Wir können Ihnen helfen, monedula-sim-link in einer großen Umgebung einzusetzen, vom Design bis zum täglichen Betrieb.
Weitere kostenlose Tools für Apache Kafka vom selben Team. Über Flock
GitOps für Apache Kafka: Topics, Zugriff, Quotas, Schemas, SCRAM-Benutzer und Confluent RBAC, per CLI oder Kubernetes-Operator.
Eine CLI, die Apache-Kafka-ACLs über einen Plan mit Prüfsumme in Confluent-RBAC-Rollenbindungen umwandelt und vor dem Löschen den effektiven Zugriff prüft.
Ein Kafka-MetricsReporter-Plugin, das Broker-, JVM- und KIP-714-Client-Metriken über OTLP liefert; ein Collector-Ausfall blockiert Kafka nie.
Interaktiver, deterministischer Apache-Kafka-Simulator im Browser: einen Cluster kaputt machen, durch die Zeitleiste spulen und lesen, warum er reagierte.