Chapter-10 : Bekerja dengan Syslog di Proxmox VE – Mengirim Log ke Server Eksternal untuk Pemantauan Terpusat

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:

  1. Facility: Kategori sumber log. Menunjukkan komponen atau subsistem apa yang menghasilkan pesan. Contoh: kern (kernel), mail (mail server), daemon (layanan latar belakang), local0 hingga local7 (kustom untuk aplikasi).
  2. 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.
  3. 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 pvepve-firewall, dan corosync.

Memahami Severity dan Facility

Berikut adalah tabel level severity (prioritas) yang digunakan dalam aturan syslog:

KodeNamaDeskripsi
0emergSistem tidak dapat digunakan.
1alertHarus segera ditindaklanjuti.
2critKondisi kritis.
3errKondisi error.
4warningKondisi peringatan.
5noticeKondisi normal tetapi signifikan.
6infoPesan informatif.
7debugPesan 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

SUMBER LOG
Kernel
systemd services
Corosync
PVE daemons
Aplikasi User
⬇️⬇️⬇️
rsyslogd

Menerima, Memfilter, dan Mendistribusikan Log

⬇️⬇️⬇️
💾 File Lokal

/var/log/syslog
/var/log/messages
/var/log/pve/…

🌐 Server Syslog Jauh

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.

Leave a Reply

Your email address will not be published. Required fields are marked *