Rsyslog adalah perangkat lunak logging sumber terbuka dan gratis yang meneruskan semua file log ke server log terpusat melalui jaringan IP. Ini membantu administrator sistem untuk mengawasi semua server dari titik pusat. Rsyslog bekerja dalam model klien/server, ia menerima log dari klien jarak jauh pada port 514 melalui protokol TCP/UDP.
Dalam posting ini, kami akan menunjukkan kepada Anda cara mengatur server Rsyslog di Debian 11.
Prasyarat
- Dua server menjalankan Debian 11.
- Kata sandi root dikonfigurasi di server.
Instal RSyslog
Pertama, Anda perlu menginstal paket server RSyslog di mesin server. Anda dapat menginstalnya menggunakan perintah berikut:
apt-get install rsyslog -y
Setelah instalasi, verifikasi status Rsyslog menggunakan perintah berikut:
systemctl status rsyslog
Anda akan melihat output berikut:
? rsyslog.service - System Logging Service Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-10-03 13:35:32 UTC; 1h 44min ago TriggeredBy: ? syslog.socket Docs: man:rsyslogd(8) man:rsyslog.conf(5) https://www.rsyslog.com/doc/ Main PID: 283 (rsyslogd) Tasks: 4 (limit: 2341) Memory: 5.0M CPU: 90ms CGroup: /system.slice/rsyslog.service ??283 /usr/sbin/rsyslogd -n -iNONE Oct 03 13:35:32 debian11 systemd[1]: Starting System Logging Service... Oct 03 13:35:32 debian11 rsyslogd[283]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.2102.0] Oct 03 13:35:32 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] start Oct 03 13:35:32 debian11 systemd[1]: Started System Logging Service. Oct 03 13:35:34 debian11 systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 283 (rsyslogd) on client request. Oct 03 13:45:33 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] rsyslog>
Konfigurasi RSyslog
Selanjutnya, Anda perlu mengonfigurasi Rsyslog agar berjalan dalam mode server. Anda dapat melakukannya dengan mengedit file konfigurasi utama Rsyslog:
nano /etc/rsyslog.conf
Batalkan komentar pada baris berikut:
# 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, tambahkan baris berikut untuk menentukan template untuk menyimpan log masuk dari sistem klien:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?remote-incoming-logs
Simpan dan tutup file kemudian restart layanan Rsyslog untuk menerapkan perubahan:
systemctl restart rsyslog
Pada titik ini, Rsyslog dimulai dan mendengarkan pada port 514. Anda dapat memeriksanya menggunakan perintah berikut:
ss -tunlp | grep 514
Anda akan melihat output berikut:
udp UNCONN 0 0 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=26276,fd=6)) udp UNCONN 0 0 [::]:514 [::]:* users:(("rsyslogd",pid=26276,fd=7)) tcp LISTEN 0 25 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=26276,fd=8)) tcp LISTEN 0 25 [::]:514 [::]:* users:(("rsyslogd",pid=26276,fd=9))
Konfigurasi Firewall untuk Rsyslog
Selanjutnya, Anda harus mengizinkan port 514 melalui firewall UFW. Anda dapat mengizinkannya dengan perintah berikut:
ufw allow 514/tcp
ufw allow 514/udp
Selanjutnya, muat ulang firewall untuk menerapkan perubahan:
ufw reload
Konfigurasi Klien Rsyslog
Selanjutnya, Anda perlu mengkonfigurasi klien Rsyslog untuk mengirim file log ke server Rsyslog. Anda dapat melakukannya dengan mengedit file konfigurasi utama Rsyslog.
nano /etc/rsyslog.conf
Tambahkan baris berikut 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
Juga, tambahkan baris berikut untuk mengatur antrian disk ketika server rsyslog akan mati:
$ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
Simpan dan tutup file kemudian restart layanan Rsyslog untuk menerapkan perubahan:
systemctl restart rsyslog
Verifikasi File Log Klien
Semua file log klien disimpan di direktori /var/log pada mesin server.
Anda dapat memeriksanya dengan perintah berikut:
ls -l /var/log/
Anda akan melihat file log klien yang sesuai dengan nama host sistem klien:
alternatives.log auth.log.2.gz daemon.log debian11 dpkg.log kern.log.1 messages.1 private syslog.3.gz clientpc auth.log.3.gz daemon.log.1 debug dpkg.log.1 kern.log.2.gz messages.2.gz runit syslog.4.gz apt btmp daemon.log.3.gz debug.2.gz icinga2 kern.log.4.gz messages.4.gz syslog auth.log.1 csm.log dbconfig-common debug.4.gz kern.log messages ntpstats syslog.2.gz
Seperti yang Anda lihat, clientpc adalah direktori log dari sistem klien.
Kesimpulan
Dalam panduan di atas, kami menjelaskan cara mengatur server dan klien Rsyslog di Debian 11. Sekarang Anda dapat memantau klien Anda dari lokasi pusat. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.