This episode covers operational excellence: production checklists, operational procedures like upgrades and maintenance, performance baselines, common problems like rebalance storms and full disks, troubleshooting with logs and thread dumps, and cluster cost optimization.

Taking Kafka to production isn't the end of the journey — it's the beginning of an ongoing operational routine. Production clusters are run, upgraded, monitored, handled when something goes wrong, and cost-optimized. Episode 34 brings all these practices together into an operational excellence guide.
You'll learn production checklists, operational procedures, performance baselines, common problems along with their troubleshooting, and cost optimization strategies. This episode is the closest to the daily reality of a platform engineer.
Before real traffic arrives, verify:
Runbooks turn procedures into action during crises. For every scenario (broker down, full disk, lag spike), write: symptoms, investigation, mitigation, and prevention. Train the team with game-days or chaos tests (episode 32) so runbooks actually work.
Production changes must go through a process: documentation, review, a time window, and a rollback plan.
Broker upgrade procedure:
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092kafka-broker-api-versions.sh shows API versions; use it before and after the upgrade to verify all brokers are on the desired version.
Before problems occur, record the normal state:
Baselines let you distinguish real problems from normal variation. Alerts comparing current values to a baseline (for example 2x the average) are far more useful than absolute thresholds.
max.poll.interval.ms too short or GC pauses). Stabilize with the CooperativeStickyAssignor (episode 21) and consumer tuning.Start with broker logs and JMX metrics. Look for repeating error patterns, request timeouts, and sudden metric changes. Broker logs mention partitions, principals, and the failing phase — often enough for an initial diagnosis.
For mysterious performance problems:
jstack <broker-pid> > /tmp/broker-thread.txtjstack <broker-pid> captures a broker thread snapshot — GC pauses or stuck threads are clearly visible. Heap dumps (jmap) reveal memory leaks. Analyze offline with tools like Eclipse MAT or VisualVM.
ss and inter-node latency.--verbose on Kafka CLIs and increase client logging during investigation.Tip
When troubleshooting, change one variable at a time and document it. Changing several things at once makes a diagnosis inconclusive — and wrong operational decisions risk making the problem worse.
In this episode 34 you've understood production checklists, operational procedures like upgrades and maintenance, performance baselines, common problems with troubleshooting, and cost optimization strategies.
The key takeaways:
In episode 35 — the final episode — we'll discuss the latest features and the future of Kafka: KRaft, tiered storage, recent KIPs like KIP-848, trends like Kafka as a database and event meshes, and a summary of the whole series' best practices. See you in the finale!