Log sangat berguna untuk menganalisis dan memecahkan masalah apa pun yang terkait dengan sistem dan aplikasi di Linux. Secara default, semua file log terletak di dalam direktori /var/log di sistem operasi berbasis Linux. Ada beberapa jenis file log termasuk, cron, kernel, pengguna, keamanan dan sebagian besar file ini dikendalikan oleh layanan Rsyslog.
Rsyslog adalah sistem yang kuat dan aman untuk pemrosesan log. Server Rsyslog menerima log melalui jaringan dari beberapa server fisik atau virtual dan memantau kesehatan layanan yang berbeda. Dengan server Rsyslog, Anda dapat memantau log untuk server lain, perangkat jaringan, dan aplikasi jarak jauh dari lokasi terpusat.
Dalam tutorial ini, kami akan menjelaskan cara mengkonfigurasi server RSyslog di server Ubuntu 18.04.
Prasyarat
- Dua server menjalankan Ubuntu 18.04.
- Alamat IP statis 192.168.0.101 dikonfigurasi pada mesin server Rsyslog dan 192.168.0.102 dikonfigurasi pada mesin klien Rsyslog.
- Kata sandi root dikonfigurasi di kedua server.
Instal RSyslog
Secara default, Rsyslog diinstal di server Ubuntu 18.04. Jika belum terinstal, Anda dapat menginstalnya dengan menjalankan perintah berikut:
apt-get install rsyslog -y
Setelah menginstal Rsyslog, Anda dapat memeriksa versi RSyslog dengan perintah berikut:
rsyslogd -v
Anda akan mendapatkan output berikut:
rsyslogd 8.32.0, compiled with: PLATFORM: x86_64-pc-linux-gnu PLATFORM (lsb_release -d): FEATURE_REGEXP: Yes GSSAPI Kerberos 5 support: Yes FEATURE_DEBUG (debug build, slow code): No 32bit Atomic operations supported: Yes 64bit Atomic operations supported: Yes memory allocator: system default Runtime Instrumentation (slow code): No uuid support: Yes systemd support: Yes Number of Bits in RainerScript integers: 64 See http://www.rsyslog.com for more information.
Anda juga dapat memeriksa status RSyslog dengan 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 Tue 2019-10-22 04:28:55 UTC; 1min 31s ago Docs: man:rsyslogd(8) http://www.rsyslog.com/doc/ Main PID: 724 (rsyslogd) Tasks: 4 (limit: 1114) CGroup: /system.slice/rsyslog.service ??724 /usr/sbin/rsyslogd -n Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service... Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.32.0] Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106 Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102 Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start Oct 22 04:28:55 ubuntu1804 systemd[1]: Started System Logging Service.
Konfigurasi Server RSyslog
Rsyslog sekarang terinstal dan berjalan. Selanjutnya, Anda perlu mengonfigurasinya agar berjalan dalam mode server. Anda dapat melakukannya dengan mengedit file /etc/rsyslog.conf.
nano /etc/rsyslog.conf
Pertama, Anda perlu menentukan protokol baik UDP atau TCP atau keduanya.
Untuk menggunakan koneksi UDP dan TCP secara bersamaan, cari dan batalkan komentar pada baris di bawah ini:
$ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514
Selanjutnya, tentukan subnet, IP, atau domain tertentu untuk membatasi akses seperti yang ditunjukkan di bawah ini:
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com $AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com
Selanjutnya, Anda perlu membuat template untuk memberi tahu server RSyslog cara menyimpan pesan syslog yang masuk. Tambahkan baris berikut tepat sebelum bagian GLOBAL DIRECTIVES:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?remote-incoming-logs
Simpan dan tutup file setelah Anda selesai. Kemudian, periksa konfigurasi Rsyslog apakah ada kesalahan sintaks dengan perintah berikut:
rsyslogd -f /etc/rsyslog.conf -N1
Anda akan melihat output berikut:
rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye.
Terakhir, restart layanan Rsyslog dengan perintah berikut:
systemctl restart rsyslog
Sekarang, verifikasi bahwa Rsyslog mendengarkan pada TCP/UDP dengan perintah berikut:
netstat -4altunp | grep 514
Anda akan mendapatkan output berikut:
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogd udp 0 0 0.0.0.0:514 0.0.0.0:* 1332/rsyslogd
Konfigurasi Klien Rsyslog
Server Rsyslog diinstal dan dikonfigurasi untuk menerima log dari host jarak jauh.
Sekarang, Anda perlu mengonfigurasi klien Rsyslog untuk mengirim pesan syslog ke server Rsyslog jarak jauh.
Masuk ke mesin Klien dan buka file konfigurasi RSyslog seperti yang ditunjukkan di bawah ini:
nano /etc/rsyslog.conf
Tambahkan baris berikut di akhir file:
##Enable sending of logs over UDP add the following line: *.* @192.168.0.101:514 ##Enable sending of logs over TCP add the following line: *.* @@192.168.0.101:514 ##Set disk queue when rsyslog server will be down: $ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
Simpan dan tutup file. Kemudian, restart server Rsyslog untuk menerapkan perubahan konfigurasi:
systemtcl restart rsyslog
Lihat Log Klien
Pada titik ini, klien Rsyslog dikonfigurasi untuk mengirim log mereka ke server Rsyslog.
Sekarang, masuk ke server RSyslog dan periksa direktori /var/log. Anda akan melihat entri dengan nama host mesin klien Anda termasuk beberapa file log:
ls /var/log/rsyslog-client/
Keluaran:
CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log
Kesimpulan
Pada artikel di atas, kami belajar cara menginstal dan mengkonfigurasi server Rsyslog di server Ubuntu 18.04. Kami juga mempelajari cara mengkonfigurasi klien Rsyslog untuk mengirim log ke server Rsyslog. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.