miércoles, 15 de abril de 2020

back to the console: listar consumidores de kafka y sus topics

Kafka tiene un montón de herramientas de líneas de comando, puedes consumir topics, producir mensajes y administrar topics, etc

Lo que no hay es una herramienta que liste los consumer groups y los topics que están usando.
Pero desde la consola podemos sacar esa información:

Con kafka-consumer-groups.sh --list se listan los consumer groups que hay en el cluster.
Con kafka-consumer-groups.sh --describe --topic lista el offset del consumer group para cada topic y partición.

Así que si hacemos un for y recorremos todos los consumer groups y con awk extraemos de la salida el nombre del topic demos sacar la relación de topics y consumer groups.
Tan solo nos queda un paso que es eliminar los duplicados, eso lo hacemos con sort -u que nos devolverá las lineas ordenadas sin duplicados.

Por ejemplo:
~$ for t in $(/opt/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list 2>/dev/null); do /opt/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group $t 2>/dev/null | awk -v var="$t," '{if (NR>2) print var$1}' ; done | sort -u
console-consumer-48665,test
console-consumer-58591,test

No hay comentarios:

Publicar un comentario