Pendahuluan
Meskipun systemd-journald telah menjadi pusat pencatatan log modern di Proxmox VE, syslog tetap merupakan standar yang sangat relevan, terutama ketika Anda mengelola banyak server. Syslog memungkinkan Anda mengirim log dari berbagai sumber—tidak hanya server Proxmox, tetapi juga switch, router, dan perangkat lain—ke sebuah server syslog terpusat. Dengan pemantauan terpusat, Anda dapat mencari, menganalisis, dan memantau kejadian di seluruh infrastruktur dari satu tempat.
Proxmox VE menggunakan rsyslog sebagai daemon syslog default, yang sudah terinstal dan berjalan secara otomatis. Artikel ini akan menjelaskan cara kerja syslog, bagaimana memahaminya, dan langkah-langkah praktis untuk mengonfigurasi pengiriman log ke server eksternal seperti Graylog, ELK Stack, atau syslog-ng.
Memahami Konsep Dasar Syslog
Syslog bekerja dengan tiga konsep utama:
- Facility: Kategori sumber log. Menunjukkan komponen atau subsistem apa yang menghasilkan pesan. Contoh:
kern(kernel),mail(mail server),daemon(layanan latar belakang),local0hinggalocal7(kustom untuk aplikasi). - Severity (Priority): Tingkat keparahan pesan. Ada 8 level dari 0 (paling darurat) hingga 7 (paling rendah, debugging). Level ini sama dengan prioritas di systemd journal.
- Action: Apa yang dilakukan dengan pesan yang cocok? Bisa ditulis ke file, dikirim ke server jauh, atau ditampilkan ke konsol.
Sebuah aturan di rsyslog menghubungkan ketiganya: “Jika pesan datang dari facility X dengan severity Y atau lebih tinggi, lakukan action Z.”
File Konfigurasi Utama Rsyslog
Konfigurasi rsyslog di Proxmox VE terletak di:
/etc/rsyslog.conf– File konfigurasi utama./etc/rsyslog.d/– Direktori untuk file konfigurasi tambahan. Praktik terbaik adalah membuat file baru di sini daripada mengedit file utama.
Proxmox VE sudah memiliki beberapa file di /etc/rsyslog.d/ untuk menangani log dari komponen seperti pve, pve-firewall, dan corosync.
Memahami Severity dan Facility
Berikut adalah tabel level severity (prioritas) yang digunakan dalam aturan syslog:
| Kode | Nama | Deskripsi |
|---|---|---|
| 0 | emerg | Sistem tidak dapat digunakan. |
| 1 | alert | Harus segera ditindaklanjuti. |
| 2 | crit | Kondisi kritis. |
| 3 | err | Kondisi error. |
| 4 | warning | Kondisi peringatan. |
| 5 | notice | Kondisi normal tetapi signifikan. |
| 6 | info | Pesan informatif. |
| 7 | debug | Pesan debugging. |
Dalam aturan penulisan, Anda bisa menggunakan nama atau kode numerik. Tanda * berarti semua level.
Contoh Aturan:
kern.warning /var/log/kern.log
Artinya: Semua pesan dari facility kern dengan severity warning atau lebih tinggi (warning, err, crit, alert, emerg) akan ditulis ke /var/log/kern.log.
mail.* /var/log/mail.log
Artinya: Semua pesan dari facility mail dengan severity apa pun akan ditulis ke /var/log/mail.log.
Mengirim Log ke Server Eksternal
Mengirim log ke server syslog terpusat melibatkan dua langkah: konfigurasi di server pengirim (Proxmox VE Anda) dan konfigurasi di server penerima.
Langkah 1: Konfigurasi di Server Penerima (Contoh: Graylog atau rsyslog server)
Server penerima harus dikonfigurasi untuk menerima log melalui UDP port 514 atau TCP port 514. Untuk server rsyslog standar, Anda perlu mengaktifkan modul imudp atau imtcp di /etc/rsyslog.conf:
module(load="imudp")
input(type="imudp" port="514")
Atau untuk TCP yang lebih andal:
module(load="imtcp")
input(type="imtcp" port="514")
Setelah itu, restart rsyslog di server penerima.
Langkah 2: Konfigurasi di Proxmox VE (Pengirim)
Buat file konfigurasi baru di /etc/rsyslog.d/, misalnya /etc/rsyslog.d/60-remote-log.conf.
Untuk mengirim SEMUA log ke server 192.168.1.100 via UDP:
*.* @192.168.1.100:514
Satu tanda @ berarti UDP.
Untuk mengirim SEMUA log via TCP (lebih andal):
*.* @@192.168.1.100:514
Dua tanda @@ berarti TCP.
Untuk mengirim hanya log dengan severity err atau lebih tinggi:
*.err @@192.168.1.100:514
Untuk mengirim hanya log dari facility tertentu (misal, local0 untuk aplikasi kustom):
local0.* @@192.168.1.100:514
Setelah membuat atau mengedit file konfigurasi, restart rsyslog:
systemctl restart rsyslog.service
Menguji Konfigurasi dengan logger
Anda dapat mengirim pesan uji coba ke syslog menggunakan perintah logger.
logger "Ini adalah pesan uji dari Proxmox VE"
Ini akan menghasilkan pesan dengan facility user dan severity notice.
Untuk menguji facility dan severity tertentu:
logger -p local0.error "Pesan error dari facility local0"
Kemudian, periksa di server penerima apakah pesan tersebut diterima. Ini membantu memverifikasi bahwa koneksi dan aturan bekerja dengan benar.
Visual: Alur Kerja Syslog di Proxmox VE
Diagram ini menunjukkan bagaimana pesan dari berbagai sumber di Proxmox VE dikumpulkan oleh rsyslog dan didistribusikan ke file lokal dan server eksternal.
📡 Alur Kerja Syslog di Proxmox VE
Menerima, Memfilter, dan Mendistribusikan Log
/var/log/syslog
/var/log/messages
/var/log/pve/…
Graylog, ELK, rsyslog server
via UDP/TCP port 514
Aturan Filter: kern.warning /var/log/kern.log | *.* @192.168.1.100:514
Kesimpulan
Syslog adalah jembatan untuk membawa log Proxmox VE Anda ke tingkat berikutnya: pemantauan terpusat. Dengan menguasai konsep facility, severity, dan konfigurasi rsyslog, Anda dapat membangun infrastruktur logging yang skalabel dan mudah diawasi. Jangan ragu untuk menggabungkan syslog dengan journald—keduanya saling melengkapi.