Rsyslog adalah program logging open-source yang menggunakan jaringan IP untuk mengirim semua file log ke server log terpusat. Ini adalah versi perbaikan dari Syslog di Linux. Ini memungkinkan administrator sistem untuk memantau semua server dari satu lokasi.
Rsyslog bekerja dalam model klien/server yang menerima log dari klien jarak jauh pada port 514 atau port kustom yang dikonfigurasi melalui protokol TCP/UDP. Ini juga mendukung database ( MySQL, PostgreSQL ) yang digunakan untuk menyimpan log.
Di sini, di LinuxAPT, sebagai bagian dari Layanan Manajemen Server kami, kami secara teratur membantu Pelanggan kami untuk melakukan kueri konfigurasi Rsyslog terkait pada sistem Linux.
Dalam konteks ini, kita akan melihat cara menginstal dan mengkonfigurasi Rsyslog di Debian 10 / 11.
Langkah-langkah untuk menginstal dan Mengkonfigurasi Server Rsyslog pada sistem Linux Debian
1. Instal server Rsyslog
Untuk memulai, instal paket Rsyslog dari Debian Repository di mesin server Anda. Jalankan perintah di bawah ini:
$ sudo apt-get install rsyslog -y
Setelah instalasi selesai, periksa apakah Rsyslog berjalan dengan benar seperti yang ditampilkan di bawah ini:
$ sudo systemctl status rsyslog
Jika semuanya baik-baik saja maka layanan Rsyslog sekarang aktif dan berjalan di mesin server Anda.
2. Konfigurasi server Rsyslog
Sekarang setelah dijalankan, konfigurasikan Rsyslog untuk dijalankan sebagai server di sistem Debian Anda. Buka file konfigurasi yaitu /etc/rsyslog.conf:
$ sudo vim /etc/rsyslog.conf
Temukan baris di bawah ini dan batalkan komentarnya untuk penerimaan log UDP dan TCP dari klien jarak jauh:
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
Selanjutnya, kita perlu menentukan template yang akan digunakan daemon RSyslog untuk menyimpan log masuk dari sistem klien. Tambahkan baris berikut di akhir file konfigurasi Anda:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Kemudian, Restart rsyslog agar perubahan diterapkan:
$ sudo systemctl restart rsyslog
Rsyslog mendengarkan pada port 514. Anda dapat memodifikasi port default di file konfigurasi. Untuk memverifikasi bahwa daemon rsyslog mendengarkan pada port 514, jalankan perintah ss berikut:
$ sudo ss -tunlp | grep 514
3. Konfigurasi Firewall untuk rsyslog
Daemon rsyslog sekarang dikonfigurasi di server. Jika Anda berada di belakang firewall UFW, izinkan port 514 agar server dapat menerima pesan log dari klien. Jalankan perintah:
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
Mulai ulang firewall agar aturan baru diterapkan. Jalankan perintah:
$ sudo ufw reload
4. Konfigurasi klien Rsyslog
Selanjutnya, konfigurasikan klien Rsyslog untuk mengirim pesan log ke server Rsyslog. Pastikan RSyslog diinstal dengan benar di mesin klien Anda.
Pertama, buka file konfigurasi:
$ sudo nano /etc/rsyslog.conf
Salin dan tempel baris di bawah ini di akhir file:
#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-server-ip:514
#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-server-ip:514
Konfigurasi di atas mengarahkan klien untuk mengirim file log ke server rsyslog menggunakan protokol TCP dan UDP. Ganti rsyslog-server-ip dengan alamat ip server Anda.
Jika server jauh mati dan Anda perlu menyimpan log, Anda dapat mengatur buffer antrian disk dengan menambahkan baris di bawah ini ke file konfigurasi klien:
##Set disk queue when rsyslog server will be down:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Simpan dan tutup file. Muat ulang layanan rsyslog agar perubahan diterapkan:
$ sudo systemctl restart rsyslog
5. Lihat file log Klien
File log Rsyslog disimpan di folder /var/log/ di server Anda. Untuk melihat log klien, gunakan perintah ls berikut:
$ ls /var/log/
Secara default, file log klien disimpan dalam folder yang dinamai dengan nama host sistem klien. Dalam kasus saya, sistem klien memiliki nama host Debian.
Selanjutnya, jalankan perintah berikut untuk melihat log yang terdapat dalam direktori klien:
$ sudo ls -l /var/log/debian/
Anda juga dapat melihat log secara real-time di terminal Anda. Mari kita lihat log dari pengguna root. Jalankan perintah di bawah ini:
$ sudo tail -f /var/log/debian/sudo.log