Observabilidad y troubleshooting
Kafka debe observarse desde broker, topic, producer y consumer. Mirar solo CPU o solo lag no basta.
Metricas de broker
Vigila:
- Under replicated partitions.
- Offline partitions.
- Request latency.
- Disk usage.
- Network throughput.
- Controller changes.
- ISR shrink/expand rate.
Metricas de topic
- Bytes in/out.
- Messages in.
- Retention.
- Partition count.
- Produce/fetch latency.
Metricas de consumer group
- Lag total.
- Lag por partition.
- Rebalances.
- Tiempo de procesamiento.
- Errores de deserializacion.
Lag
Mucho lag puede significar:
- Consumidores lentos.
- Pocas partitions.
- Pocos consumers.
- Errores en procesamiento.
- Broker saturado.
- Evento demasiado grande.
Comandos utiles
Listar grupos:
bash
kafka-consumer-groups --bootstrap-server localhost:9092 --listDescribir grupo:
bash
kafka-consumer-groups --bootstrap-server localhost:9092 \
--describe --group billing-serviceListar topics:
bash
kafka-topics --bootstrap-server localhost:9092 --listDescribir topic:
bash
kafka-topics --bootstrap-server localhost:9092 \
--describe --topic orders.createdErrores frecuentes
NotLeaderOrFollower: metadata desactualizada o cambio de leader.UnknownTopicOrPartition: topic inexistente o metadata no propagada.SerializationException: payload no compatible.CommitFailedException: rebalance durante procesamiento.- Lag creciente: consumidores no siguen ritmo.
Runbook de lag
- Ver grupo y partitions afectadas.
- Revisar logs de consumidores.
- Medir tiempo por evento.
- Revisar errores de downstream.
- Comprobar si hay rebalances frecuentes.
- Escalar consumers si hay partitions libres.
- Ajustar batching o paralelismo si procede.
Runbook de broker
- Revisar under-replicated partitions.
- Revisar disco.
- Revisar red.
- Revisar logs del broker.
- Confirmar ISR.
- Evitar reinicios simultaneos.
Buenas practicas
- Define alertas antes de incidentes.
- Monitoriza lag por consumer group critico.
- Propaga correlation ids.
- Centraliza logs de producers y consumers.
- Documenta owners de topics.
- Ten runbooks para lag, broker caido y schema roto.
