Belajar Keepalived - Logging & Troubleshooting
Episode 7 of 23

Belajar Keepalived - Logging & Troubleshooting

Episode ini membekali kalian kemampuan troubleshooting Keepalived: level log dan integrasi syslog, membedah advertisement VRRP dengan tcpdump, serta memetakan failure mode umum seperti authentication mismatch, virtual_router_id bentrok, dan masalah multicast.

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

Pendahuluan

Tidak peduli seberapa baik konfigurasi, insiden pasti terjadi. Yang membedakan operator andal adalah kemampuannya membaca log dan membedah paket. Episode 7 melengkapi kalian dengan keterampilan itu: level log Keepalived, integrasi syslog, cara mendebug perubahan state VRRP, dan pemetaan failure mode paling umum.

Kita juga akan menangkap advertisement VRRP langsung dari jaringan dengan tcpdump, sehingga kalian bisa melihat dengan mata kepala sendiri mengapa dua node tidak kunjung menjadi satu virtual router. Di akhir episode, kalian punya prosedur sistematis untuk menyelesaikan masalah Keepalived.

Level Log dan Integrasi Syslog

Mode Foreground untuk Debugging

Saat troubleshooting, jalankan Keepalived di foreground dengan log lengkap:

Jalankan keepalived di foreground
sudo keepalived --dont-fork --log-console --log-detail --vrrp

Kombinasi --dont-fork, --log-console, dan --log-detail membuat daemon mencetak semua detail VRRP langsung ke terminal. Mode ini ideal untuk lab dan sesi debug; di produksi, cukup andalkan systemd dan syslog.

Mengarahkan Log ke Facility Tertentu

Keepalived mengirim log ke syslog dengan facility default LOG_DAEMON. Kalian bisa mengarahkannya agar mudah dipisahkan:

Log facility di global_defs
global_defs {
  router_id LB-01
  log_facility 5
}

Dengan log_facility 5, log dikirim ke facility local1 (nilai 5 pada konfigurasi). Atur rsyslog untuk menulis facility ini ke file terpisah:

Pisahkan log keepalived
echo "local1.* /var/log/keepalived.log" | sudo tee /etc/rsyslog.d/30-keepalived.conf
sudo systemctl restart rsyslog

Perintah echo ... | sudo tee /etc/rsyslog.d/30-keepalived.conf membuat file rule rsyslog, dan systemctl restart rsyslog menerapkannya. Mulai sekarang log Keepalived punya rumah sendiri.

Mendebug Perubahan State VRRP

Membaca Log Transisi

Transisi state terekam jelas di log. Pola yang sering muncul:

Pantau log secara real-time
sudo journalctl -u keepalived -f

Perhatikan baris seperti Entering MASTER STATE dan Entering BACKUP STATE. Pola flapping, di mana node berganti-ganti MASTER dalam waktu singkat, biasanya menandakan masalah multicast, authentication, atau perbedaan advert_int.

Menangkap Advertisement dengan tcpdump

Bukti paling kuat datang dari jaringan. Tangkap paket VRRP:

Tangkap paket VRRP
sudo tcpdump -i eth0 vrrp -vv

Output tcpdump -i eth0 vrrp -vv memperlihatkan advertisement VRRP yang masuk dan keluar, termasuk priority yang dikirim. Jika kalian tidak melihat paket sama sekali, kemungkinan multicast terblokir di switch, firewall, atau interface salah.

Setiap advertisement membawa informasi seperti virtual_router_id, priority, dan adver_int. Dua node yang tidak sepakat pada nilai-nilai ini tidak akan membentuk virtual router yang koheren.

Failure Mode Umum dan Solusinya

Authentication Mismatch

Jika satu node memakai authentication dan yang lain tidak, atau kata sandi berbeda, advertisement akan ditolak. Gejala: node terus berada di BACKUP atau FAULT, dan log menunjukkan dropped paket. Pastikan blok authentication identik di semua node, atau hapus seluruhnya.

Virtual Router ID Bentrok

Dua VIP berbeda yang memakai virtual_router_id sama di jaringan yang sama saling menimpa. Gejala: VIP tiba-tiba hilang atau berpindah tanpa sebab. Solusi: pastikan setiap virtual router memiliki ID unik, dan cek dengan tcpdump nilai virtual_router_id yang terkirim.

Multicast Terblokir

VRRP bergantung pada multicast 224.0.0.18. Firewall host maupun switch yang tidak mengizinkan multicast akan memutus komunikasi. Verifikasi cepat:

Cek blokir multicast
sudo iptables -L -n | grep -i multicast

iptables -L -n dengan filter multicast menunjukkan apakah ada rule yang memblokir. Untuk sementara di lab, flush rule tersebut dan uji kembali.

Perbedaan advert_int antar node membuat BACKUP salah menghitung master_down_interval. Gejala: failover terlambat atau terjadi tiba-tiba. Selalu gunakan advert_int yang sama di semua node pada instance yang sama.

Prosedur Troubleshooting Sistematis

Urutan pemeriksaan yang bisa kalian jadikan kebiasaan:

Langkah diagnosis
sudo systemctl status keepalived --no-pager
sudo keepalived -t -f /etc/keepalived/keepalived.conf
sudo journalctl -u keepalived --no-pager | tail -50
sudo ip -brief addr show
sudo tcpdump -i eth0 vrrp -c 20
  • Pastikan service active (running).
  • Pastikan konfigurasi lolos keepalived -t.
  • Baca 50 baris log terakhir untuk melihat transisi dan error.
  • Cek VIP benar-benar terpasang di node yang tepat.
  • Tangkap paket VRRP untuk memastikan node saling mendengar.

Urutan ini menyelesaikan sebagian besar masalah sebelum mencurigai hal-hal yang lebih dalam seperti isu kernel atau routing.

Penutup

Episode 7 mengubah kalian dari operator yang panik saat VIP hilang menjadi operator yang sistematis: memahami level log, membedah advertisement dengan tcpdump, dan memetakan failure mode seperti mismatch authentication, ID bentrok, dan multicast terblokir.

Inti yang harus dibawa pulang:

  • --dont-fork --log-console --log-detail untuk debugging di foreground.
  • Syslog facility membuat log Keepalived mudah dipisahkan dan dianalisis.
  • tcpdump -i eth0 vrrp adalah bukti terkuat komunikasi antar node.
  • Authentication mismatch adalah penyebab utama advertisement ditolak.
  • virtual_router_id bentrok membuat VIP saling menimpa.
  • Ikuti urutan diagnosis: status, sintaks, log, VIP, lalu paket.

Di episode 8 selanjutnya kita membahas advanced keepalived configuration — sinkronisasi grup VRRP dengan vrrp_sync_group, konfigurasi beberapa virtual router dan VIP sekaligus, serta men-track interface, route, dan script secara bersamaan untuk arsitektur HA yang lebih besar.

Belajar Keepalived - Logging & Troubleshooting | Belajar Keepalived