Belajar Apache Kafka - Operational Excellence & Production Readiness
Episode 34 of 36

Belajar Apache Kafka - Operational Excellence & Production Readiness

Episode ini membahas operational excellence: checklist produksi, prosedur operasional seperti upgrade dan maintenance, baseline performa, masalah umum seperti rebalance storm dan disk full, troubleshooting dengan log dan thread dump, serta optimasi biaya cluster.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Membawa Kafka ke produksi bukan akhir perjalanan — justru awal dari rutinitas operasional yang berkelanjutan. Cluster produksi dijalankan, ditingkatkan, dipantau, ditangani saat bermasalah, dan dioptimalkan biayanya. Episode 34 ini menyatukan semua praktik tersebut menjadi panduan operational excellence.

Kalian akan belajar checklist produksi, prosedur operasional, baseline performa, masalah umum beserta troubleshooting-nya, dan strategi optimasi biaya. Ini episode yang paling dekat dengan realitas harian seorang platform engineer.

Checklist Produksi

Deployment Checklist

Sebelum traffic nyata masuk, verifikasi:

  • Capacity planning selesai (episode 20): jumlah broker, partition, storage, network.
  • Security hardening diterapkan (episode 33): SASL, TLS, ACL, network segmentation.
  • Monitoring dan alerting aktif (episode 22-23): metrik kunci dan alert punya runbook.
  • Backup dan DR teruji (episode 25): latihan restore dan failover dilakukan.
  • Dokumentasi dan runbook lengkap: siapa bertanggung jawab dan apa langkahnya.
  • Tim terlatih: setiap anggota tahu prosedur dasar dan eskalasi.

Runbook dan Training

Runbook mengubah prosedur menjadi tindakan saat krisis. Untuk setiap skenario (broker down, disk full, lag spike), tulis: gejala, investigasi, mitigasi, dan pencegahan. Latih tim dengan game-day atau chaos test (episode 32) agar runbook benar-benar bekerja.

Prosedur Operasional

Change Management dan Upgrade

Perubahan produksi harus melalui proses: dokumentasi, review, jendela waktu, dan rollback plan.

Prosedur upgrade broker:

  1. Backup konfigurasi dan catat versi.
  2. Upgrade satu broker, verifikasi ia join dan replikasi normal.
  3. Lanjutkan rolling upgrade broker berikutnya.
  4. Setelah selesai, verifikasi versi di seluruh cluster dan lakukan observasi.
Cek versi broker
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092

kafka-broker-api-versions.sh menunjukkan versi API; gunakan sebelum dan sesudah upgrade untuk memverifikasi semua broker pada versi yang diinginkan.

Broker Maintenance dan Topic Management

  • Broker maintenance: untuk pemeliharaan host, matikan broker secara terkontrol (shutdown graceful), biarkan partition dipindahkan, lalu hidupkan kembali dan lakukan preferred leader election.
  • Partition reassignment: lakukan saat broker baru ditambah atau workload tidak seimbang (episode 20).
  • Topic management: definisikan dan review topic melalui code (episode 31); bersihkan topic yang tidak terpakai.
  • Consumer group management: pantau dan hentikan group yang tidak dipakai agar offset tidak menumpuk.

Baseline Performa

Menetapkan Baseline

Sebelum ada masalah, catat kondisi normal:

  • Throughput benchmarks: records/sec dan MB/sec per broker dan per topic.
  • Latency percentiles: p50, p99, p999 untuk produce dan fetch.
  • Resource utilization: CPU, memory, disk I/O, network per broker.
  • Consumer lag targets: lag normal vs abnormal per group.

Baseline memungkinkan kalian membedakan masalah nyata dari variasi normal. Alert yang membandingkan nilai saat ini dengan baseline (misalnya 2x rata-rata) jauh lebih berguna daripada ambang absolut.

Masalah Umum di Produksi

Rebalance Storm dan Lag Spikes

  • Rebalance storm: rebalance berulang akibat consumer yang keluar-masuk group (misalnya max.poll.interval.ms terlalu pendek atau GC pause). Stabilkan dengan CooperativeStickyAssignor (episode 21) dan tuning consumer.
  • Lag spikes: consumer crash atau melambat. Selidiki poll interval, resource, dan error di log consumer.

Disk Full, Network Partition, dan Memory

  • Disk full: penyebab outage paling umum. Pantau ruang dan atur retention; tambah storage atau pindahkan data (episode 20).
  • Network partition: replica tidak sinkron; periksa ISR dan request error antar broker.
  • Memory leaks dan GC pauses: heap yang membesar terus atau pause panjang menandakan masalah di aplikasi klien atau JVM broker; gunakan thread dan heap dump untuk analisis.

Troubleshooting

Log Analysis dan Metrik

Mulai dari log broker dan metrik JMX. Cari pola error berulang, request timeout, dan perubahan metrik mendadak. Log broker menyebutkan partition, prinsipal, dan fase yang gagal — sering sudah cukup untuk diagnosa awal.

Thread dan Heap Dumps

Untuk masalah performa yang misterius:

Ambil thread dump
jstack <broker-pid> > /tmp/broker-thread.txt

jstack <broker-pid> menangkap snapshot thread broker — GC pause atau thread tersangkut terlihat jelas. Heap dump (jmap) mengungkap kebocoran memori. Analisis offline dengan tool seperti Eclipse MAT atau VisualVM.

Network dan Client Debugging

  • Periksa koneksi dengan ss dan latensi antar node.
  • Uji koneksi klien dengan console tools untuk memisahkan masalah klien dan broker.
  • Gunakan --verbose pada CLI Kafka dan tingkatkan logging klien saat investigasi.

Tip

Saat troubleshooting, ubah satu variabel setiap kali dan dokumentasikan. Mengubah beberapa hal sekaligus membuat diagnosis tidak bisa disimpulkan — dan keputusan operasional yang salah berisiko memperburuk masalah.

Optimasi Biaya

  • Right-sizing brokers: sesuaikan instance dengan beban nyata; jangan over-provision tanpa data.
  • Tiered storage (episode 11): pindahkan data lama ke object storage yang murah.
  • Compression optimization (episode 21): zstd mengurangi storage dan bandwidth.
  • Retention tuning: perpendek retention untuk data yang tidak butuh disimpan lama.
  • Cloud: manfaatkan reserved instances untuk beban stabil dan spot instances untuk development; matikan cluster non-produksi di luar jam kerja.

Penutup

Di episode 34 ini kalian sudah memahami checklist produksi, prosedur operasional seperti upgrade dan maintenance, baseline performa, masalah umum beserta troubleshooting, dan strategi optimasi biaya.

Inti yang harus dibawa pulang:

  • Verifikasi checklist produksi sebelum traffic nyata masuk.
  • Upgrade broker secara rolling dengan verifikasi di setiap langkah.
  • Baseline performa membedakan masalah nyata dari variasi normal.
  • Rebalance storm dan disk full adalah masalah paling umum di produksi.
  • Gunakan log, metrik, thread, dan heap dump untuk diagnosis terstruktur.
  • Optimasi biaya: right-sizing, tiered storage, compression, dan retention.

Di episode 35 — episode terakhir — kita akan membahas fitur terbaru dan masa depan Kafka: KRaft, tiered storage, KIP terbaru seperti KIP-848, tren seperti Kafka as a database dan event mesh, serta rangkuman best practices seluruh series. Sampai jumpa di episode pamungkas!

Belajar Apache Kafka - Operational Excellence & Production Readiness | Belajar Apache Kafka