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.

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.
Saat troubleshooting, jalankan Keepalived di foreground dengan log lengkap:
sudo keepalived --dont-fork --log-console --log-detail --vrrpKombinasi --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.
Keepalived mengirim log ke syslog dengan facility default LOG_DAEMON. Kalian bisa mengarahkannya agar mudah dipisahkan:
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:
echo "local1.* /var/log/keepalived.log" | sudo tee /etc/rsyslog.d/30-keepalived.conf
sudo systemctl restart rsyslogPerintah 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.
Transisi state terekam jelas di log. Pola yang sering muncul:
sudo journalctl -u keepalived -fPerhatikan 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.
Bukti paling kuat datang dari jaringan. Tangkap paket VRRP:
sudo tcpdump -i eth0 vrrp -vvOutput 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.
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.
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.
VRRP bergantung pada multicast 224.0.0.18. Firewall host maupun switch yang tidak mengizinkan multicast akan memutus komunikasi. Verifikasi cepat:
sudo iptables -L -n | grep -i multicastiptables -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.
Urutan pemeriksaan yang bisa kalian jadikan kebiasaan:
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 20active (running).keepalived -t.Urutan ini menyelesaikan sebagian besar masalah sebelum mencurigai hal-hal yang lebih dalam seperti isu kernel atau routing.
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.tcpdump -i eth0 vrrp adalah bukti terkuat komunikasi antar node.virtual_router_id bentrok membuat VIP saling menimpa.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.