Pendahuluan
Setiap kejadian di server Proxmox VE Anda—mulai dari booting kernel, layanan yang mulai berjalan, hingga error pada mesin virtual—semuanya tercatat dalam sebuah sistem pencatatan terpadu yang disebut systemd-journald. Journal ini adalah sumber kebenaran pertama yang harus Anda periksa ketika terjadi masalah. Tidak seperti file log teks tradisional yang tersebar di /var/log/, journal menyimpan semua log dalam format biner yang terstruktur, memungkinkan pencarian dan penyaringan yang sangat cepat dan presisi.
Artikel ini akan memandu Anda menguasai alat journalctl, dari perintah dasar hingga teknik penyaringan tingkat lanjut yang spesifik untuk lingkungan Proxmox VE. Dengan menguasai journal, Anda dapat mendiagnosis masalah jaringan, kegagalan layanan, atau perilaku aneh pada kluster dengan jauh lebih efisien.
Memahami Systemd Journal
Systemd-journald adalah layanan yang mengumpulkan log dari berbagai sumber: kernel (melalui dmesg), output standar dan error dari layanan systemd, pesan syslog, dan bahkan log boot awal. Semua data ini disimpan dalam file biner di /var/log/journal/.
Keunggulan Journal dibandingkan File Log Teks Tradisional:
- Terindeks dan Terstruktur: Setiap entri log memiliki metadata seperti timestamp, hostname, PID, UID, dan prioritas. Anda bisa mencari log berdasarkan field-field ini secara instan.
- Satu Titik Akses: Anda tidak perlu mencari di
/var/log/syslog,/var/log/messages, atau/var/log/kern.log. Semua ada di journal. - Tahan terhadap Kerusakan: Format biner journal dirancang agar tetap bisa dibaca meskipun terjadi crash sistem.
- Rotasi Otomatis: Journal dikelola secara otomatis berdasarkan ukuran atau waktu, tanpa perlu konfigurasi
logrotateyang rumit.
Perintah Dasar journalctl
journalctl adalah alat CLI untuk mengakses dan memanipulasi journal. Berikut adalah perintah-perintah fundamental yang wajib Anda kuasai.
1. Melihat Semua Log
journalctl
Ini akan menampilkan semua log dari yang terlama hingga terbaru. Anda bisa menggulir dengan tombol panah, Page Up/Down, dan keluar dengan q. Sangat banyak, jadi jarang digunakan tanpa filter.
2. Melihat Log Boot Terkini
journalctl -b
Hanya menampilkan log sejak booting saat ini. Ini sangat berguna untuk memeriksa apa yang terjadi sejak server terakhir dinyalakan.
3. Melihat Log Boot Sebelumnya
journalctl -b -1
Berguna jika server crash dan reboot, Anda ingin melihat log sebelum crash. Gunakan -b -2 untuk boot sebelumnya lagi.
4. Mengikuti Log Secara Real-time (Seperti tail -f)
journalctl -f
Menampilkan log terbaru dan terus mengikuti penambahan log baru secara langsung. Tekan Ctrl+C untuk berhenti.
5. Melihat Log Kernel (Setara dmesg)
journalctl -k
Atau dengan opsi:
journalctl --dmesg
Menampilkan pesan dari kernel Linux, sangat berguna untuk debugging hardware atau driver.
Teknik Penyaringan (Filtering) Tingkat Lanjut
Kekuatan sejati journalctl terletak pada kemampuannya menyaring log berdasarkan berbagai kriteria.
1. Berdasarkan Prioritas (Severity)
Log memiliki level prioritas: emerg (0, paling darurat), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7).
Untuk melihat hanya error dan yang lebih parah:
journalctl -p err
Atau range prioritas, misal dari warning hingga emerg:
journalctl -p warning..emerg
2. Berdasarkan Unit Layanan (Systemd Unit)
Ini adalah filter paling berguna untuk debugging Proxmox VE. Setiap layanan Proxmox berjalan sebagai unit systemd.
- Log layanan
pvedaemon(backend yang menangani operasi VM/CT):
journalctl -u pvedaemon.service
- Log layanan
pveproxy(frontend antarmuka web):
journalctl -u pveproxy.service
- Log layanan
corosync(komunikasi kluster):
journalctl -u corosync.service
- Log layanan
pve-cluster(manajemen file sistem kluster):
3. Berdasarkan Waktu
Sangat membantu untuk melihat log di sekitar waktu kejadian.
- Log sejak 1 jam terakhir:
journalctl --since "1 hour ago"
- Log antara dua waktu tertentu:
journalctl --since "2025-01-15 10:00:00" --until "2025-01-15 11:00:00"
- Log sejak kemarin:
journalctl --since yesterday
4. Kombinasi Filter
Anda bisa menggabungkan banyak filter sekaligus.
Contoh: melihat log error dari layanan pvedaemon sejak 30 menit terakhir.
journalctl -u pvedaemon.service -p err --since "30 min ago"
Log Spesifik Proxmox VE yang Penting
Selain unit systemd, Proxmox VE memiliki log tambahan yang bisa Anda pantau:
- Log Tugas Kluster: Terletak di
/var/log/pve/tasks/. Direktori ini berisi file log untuk setiap tugas yang dijalankan (migrasi, backup, clone). Setiap file diberi nama berdasarkan UPID (Unique Process Identifier). Anda bisa melihatnya dengancatatau lewat GUI di panel Task History. - Log Sinkronisasi Kluster:
/var/log/pve/sync.logmencatat proses sinkronisasi file konfigurasi antar node. - Log Firewall Proxmox: Jika Anda menggunakan firewall Proxmox, log-nya ada di journal dengan unit
pve-firewall.service.
Manajemen Ukuran dan Retensi Journal
Secara default, journal disimpan di /var/log/journal/ dan ukurannya dibatasi agar tidak memenuhi disk.
Melihat Penggunaan Disk Journal:
journalctl --disk-usage
Mengatur Batas Ukuran Maksimum:
Edit file /etc/systemd/journald.conf. Cari dan atur variabel berikut:
SystemMaxUse=500M
Setelah itu, restart layanan journald:
systemctl restart systemd-journald
Membersihkan Log Lama Secara Manual:
- Hapus semua log kecuali 2 hari terakhir:
journalctl --vacuum-time=2d
- Hapus log hingga ukuran journal turun di bawah 200MB:
journalctl --vacuum-size=200M
Visual: Alur Pencarian Log untuk Troubleshooting
Diagram ini menunjukkan pendekatan sistematis saat mencari penyebab masalah menggunakan journalctl.
🔍 Strategi Troubleshooting dengan `journalctl`
VM tidak bisa start? Jaringan mati? GUI lambat? Tentukan gejalanya dan perkirakan layanan terkait.
Gunakan
-b untuk boot ini, atau --since "30 min ago" untuk waktu spesifik.
Gunakan
-u pvedaemon.service, -u pveproxy.service, dll.
Gunakan
-p err untuk hanya error, atau -o verbose untuk detail penuh.
Baca pesan error. Cari di dokumentasi atau forum Proxmox. Jika perlu, ekspor log untuk analisis lebih lanjut.
Contoh Perintah: journalctl -u pvedaemon.service -b -p err
Menampilkan error dari pvedaemon sejak boot terakhir.
Kesimpulanjournalctl adalah pisau Swiss Army untuk administrasi sistem Proxmox VE. Dengan membiasakan diri menggunakan filter berdasarkan unit layanan, waktu, dan prioritas, Anda dapat mempersempit penyebab masalah dalam hitungan detik. Jadikan journal sebagai teman pertama Anda setiap kali ada sesuatu yang tidak beres pada sistem.