Advanced
DLQ Triage Assistant
Point this at your DLQ topic and connector name. Generate safe commands to inspect headers, unwrap payloads, and map errors to fixes.
1) inputs
2) enumerate & peek
# count a sample & show latest offsets
kafka-run-class kafka.tools.GetOffsetShell \
--broker-list localhost:9092 --topic dlq.inventory --time -1
# peek a few DLQ records (value only)
kafka-console-consumer --bootstrap-server localhost:9092 \
--topic dlq.inventory --from-beginning --timeout-ms 4000 \
--max-messages 5 | jq -C .
show headers & decode original value
# show headers (kafka cli shows headers only with Kafkacat or kcat)
# try kcat if available (brew install kcat)
kcat -b localhost:9092 -t dlq.inventory -C -J -c 5 | jq -C .
# extract original payload if record is wrapped (common in Connect DLQs)
kafka-console-consumer --bootstrap-server localhost:9092 \
--topic dlq.inventory --from-beginning --timeout-ms 4000 --max-messages 5 \
| jq -r '.original.value // .record.value // .value // .payload.original.value // .payload.record.value // empty' \
| jq -C .
connector status & restart
curl -s http://localhost:8083/connectors | jq
curl -s http://localhost:8083/connectors/inventory-connector/status | jq
# restart connector (use sparingly)
curl -s -X POST http://localhost:8083/connectors/inventory-connector/restart
sink lag (is the consumer stuck?)
kafka-consumer-groups --bootstrap-server localhost:9092 \
--describe --group my-sink