Cara menginstal dan mengkonfigurasi rsyslog untuk server log Linux terpusat
Tutorial Linux Indonesia -- Berapa banyak mesin linux yang anda kelola ? jika mesin linux sangat banyak untuk anda kelola. Dan mesin-mesin itu masih satu jaringan yang sama.
Apakah anda bosan dengan mengamankan mesin-mesin anda dengan melihat file log secara manual ?? Pastinya, bosan, cape dan buang waktu-waktu anda untuk melihat log secara manual.
Bagaimana jika anda mengkonfigurasi semua mesin linux tersebut untuk mengirimkan log mereka ke server terpusat ? pasti yang anda pikirkan,” susah dan mustahil. “
Jangan khawatir, sekarang sudah ada fitur rsyslog yang dapat anda gunakan untuk menyimpan log linux secara pusat. Ini bukan hanya mungkin, itu sangat mudah.
Saya akan menunjukan kepada anda bagaimana melakukan hal itu. Saya akan menunjukan kepada anda menggunakan system operasi CentOS 7.
Saya akan mengagap anda memiliki akses ke semua mesin linux yang perlu anda konfigurasi dan bahwa anda memiliki satu mesin yang digunakan untuk file log khusus.
Dengan begitu mari kita bangun dan menjalankan sistem ini.
Centos 7.0 –Syslog Server
Hostname
|
Localhost.domain
|
IP Address
|
10.10.10.1
|
Centos 6.5 - Client
Hostname
| |
IP Address
|
10.10.10.3
|
Sebelum kita mulai pastikan repository pada server kamu sudah update versi terakhir. Pada Konfigurasi ini akan kita bagi menjadi 2 bagian yaitu tahap Instalasi Syslog Server dan Syslog Client.
Syslog Server
Pertama yang kita lakukan adalah instalasi paket syslog server di server anda. Menggunakan command di bawah ini.
[root@localhostdomain
~]# yum install rsyslog
Lakukan backup konfigurasi rsyslog terlebih dahulu, sebelum melakukan perubahan konfigurasi dasar.
Jadi kalo rsyslog gagal atau failed, bisa di lakukan rool back atau restore konfigurasi sebelumnya.
[root@localhostdomain ~]# cp
/etc/rsyslog.conf /etc/rsyslog.config
Temukan dua baris perintah di bawah ini dan hilangkan tanda # untuk mengaktifkan perintah. Selanjutnya rubah file konfigurasi rsyslog.conf menjadi seperti di bawah ini.
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
Tambahkan script ini di bawah file rsyslog.conf. Script ini akan mengatur bagaimana log server tersebut akan di simpan.
$template TmplAuth,
"/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"
$template TmplMsg,
"/var/log/client_logs/%HOSTNAME%/%PROGRAMNAME%.log"
authpriv.* ?TmplAuth
*.info;mail.none;authpriv.none;cron.none
?TmplMsg
Karena format template log akan di simpan directory /var/log/client_logs maka kita buat directory terlebih dahulu.
[root@localhost
www]# mkdir /var/log/client_logs
Selanjutnya lakukan restart rsyslog.
[root@localhostdomain
~]# systemctl restart rsyslog
Rsyslog Client
Sekarang kita akan mengkonfigurasi client, sehingga mereka akan mengirim log mereka ke server terpusat.
Pastikan mesin linux client anda sudah berhasil install rsyslog, jika belum install paket rsyslog anda dapat menggunakan command di bawah ini.
[root@www ~]# yum install rsyslog
Sekarang backup file rsyslog
[root@www ~]# cp /etc/rsyslog.conf
/etc/rsyslog.backup
Selanjutnya, rubah konfigurasi file rsyslog.conf seperti di bawah ini.
$ModLoad
imuxsock # provides support for local system logging (e.g. via logger $
$ModLoad imklog
# provides kernel logging support (previously done by rklogd)
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
#$ActionFileEnableSync on
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none
/var/log/messages
authpriv.* /var/log/secure
mail.* /var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
Karena kita mengirimkan log ( r emote ) ke server rsyslog, maka kita perlu tambahkan script di bawah ini. Pada baris terakhir rsyslog.conf
*.*
@10.10.10.1:514
*.* @10.10.10.1:514
Lakukan restart rsylog client kamu.
[root@www ~]#
/etc/init.d/rsyslog restart
Shutting down system
logger: [ OK ]
Starting system logger: [
OK ]
[root@www ~]#
Sudah selesai konfigurasi rsyslog di sisi client.
Pengetesan Rsyslog
Untuk memastikan centralized logging server sudah berjalan secara normal. Kita lakukan percobaan dengan melakukan restart service sshd pada server client.
[root@www ~]# /etc/init.d/sshd
restart
Stopping sshd: [
OK ]
Starting sshd: [
OK ]
[root@www ~]#
Apakah Log ssh Client tersimpan pada server rsylog.
[root@localhost ~]# cd /var/log/client_logs/
[root@localhost client_logs]#
ls
localhost www
[root@localhost client_logs]#
Menandakan Log sshd sudah berhasil di pusatkan di server rsyslog.
[root@localhost client_logs]#
cd www/
[root@localhost www]# ls
kernel.log rsyslogd.log
sshd.log
[root@localhost www]# tail
-f sshd.log
Oct 23 12:45:44 www sshd[8991]:
Accepted password for root from 10.10.10.7 port 56740 ssh2
Oct 23 12:45:44 www sshd[8991]:
pam_unix(sshd:session): session opened for user root by (uid=0)
Oct 23 12:58:41 www sshd[8991]:
pam_unix(sshd:session): session closed for user root
Anda tidak perlu lagi harus jauh ke setiap server linux untuk membaca file log. Sebagai gantinya, anda hanya masuk ke server log terpusat dan lihat entry log saja. Jadi lebih mudah buat analisa dan hasil analisa tersebut lebih cepat selesai.