Rabu, 25 Maret 2015

Membuat Sistem Log Terpusat

Membuat Sistem Log Terpusat dari Beberapa Server

Rencana Pembangunan Sistem Log Sentral

Dalam suatu jaringan yang melibatkan banyak server, seringkali pencatatan Log terabaikan. Padahal Sistem ini begitu penting tidak hanya untuk memonitor dan mencatat berbagai event yang terjadi, tapi bisa digunakan untuk menganalisa permasalahan yang mungkin suatu saat akan terjadi. Pada umumnya, server yang kita bangun (dengan Linux Centos) memang sudah memiliki system log sendiri secara default (pada direktori /var/log/), dimana bisa kita akses secara langsung.

Alangkah lebih baik apabila kita membangun satu server tersendiri untuk sekedar mengumpulkan Log dari seluruh server yang ada. Hal ini bisa berguna untuk memudahkan analisa, juga bisa berfungsi sebagai backup dari file log server-server. Jika suatu saat ada server tertentu yang mengalami masalah serius sehingga tidak memungkinkan untuk masuk kedalam system, maka kita bisa melihat Log nya didalam server Log ini.

Disini saya akan mencoba membangun server Log dengan dua buah server. Server yang pertama dengan nama Host PAJAJARAN akan difungsikan sebagai Server Log (Centos 6.4 64 bit), dan berikutnya dengan nama host MAJAPAHIT akan difungsikan sebagai client (Centos 5.6), dimana server ini nanti akan mengirimkan Log nya ke Server pertama.

Pengaturan di server Client
  1. Install paket rsyslog. Untuk instalasi pada Linux Centos 5 bisa mengikuti petunjuk artikel sebelumnya. Apabila kita memiliki Client dengan Linux Centos 6, kita install dengan yum.
    [root@MAJAPAHIT ~]# yum install rsyslog
    
    
  2. Setelah terinstal, buka file konfigurasi yang terdapat di /etc/rsyslog.conf.
    [root@MAJAPAHIT ~]# nano /etc/rsyslog.conf
    
    

  3. Temukan baris berikut, biasanya ada di baris paling akhir
    #$WorkDirectory /var/lib/rsyslog # where to place spool files
    #$ActionQueueFileName fwdRule1 # unique name prefix for spool files
    #$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
    #$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
    #$ActionQueueType LinkedList   # run asynchronously
    #$ActionResumeRetryCount -1    # infinite retries if host is down
    # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
    #*.* @@remote-host:514
    
    

    Ubah konfigurasi, dengan menghilangkan tanda komentar (#) di depannya seperti dibawah ini:
    $WorkDirectory /var/lib/rsyslog # where to place spool files
    $ActionQueueFileName fwdRule1 # unique name prefix for spool files
    $ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
    $ActionQueueSaveOnShutdown on # save messages to disk on shutdown
    $ActionQueueType LinkedList   # run asynchronously
    $ActionResumeRetryCount -1    # infinite retries if host is down
    # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
    *.* @@192.168.1.100:514
    
    

    Dari pengaturan diatas, kita akan mengirimkan log ke server central log dengan ip 192.168.1.100 port 514. Simpan konfigurasi, lalu keluar dari editor.

  4. Jalankan service rsyslog
    [root@MAJAPAHIT ~]# service rsyslog start
    Starting system logger:                                    [  OK  ]
    
    
Pengaturan di Server Sentral Log
  1. Buat File untuk menyimpan Log dari Server Client, misalkan saja kita akan menyimpannya di /var/log/MAJAPAHIT.log
    [root@PAJAJARAN ~]# cd /var/log/
    [root@PAJAJARAN log]# nano MAJAPAHIT.log
    
    
  2. Install paket rsyslog seperti pada instalasi di server client
    [root@PAJAJARAN ~]# yum install rsyslog
    
    
  3. Buka file konfigurasi yang terdapat di /etc/rsyslog.conf
    [root@PAJAJARAN ~]# nano /etc/rsyslog.conf
    
    
  4. Temukan baris seperti dibawah ini
    # Provides TCP syslog reception
    #$ModLoad imtcp
    #$InputTCPServerRun 514
    
    

    Ubah pengaturan menjadi seperti ini:
    # Provides TCP syslog reception
    $ModLoad imtcp
    $InputTCPServerRun 514
    :FROMHOST-IP, isequal, "192.168.1.101" /var/log/MAJAPAHIT.log 
    & ~
    
    

    Simpan konfigurasi, lalu keluar dari editor. Dari pengaturan tersebut, server akan menerima request log secara remote dari server client melalui port TCP 514. File log akan disimpan sesuai file yang telah kita siapkan, yakni /var/log/MAJAPAHIT.log
  5. Jalankan service rsyslog
    [root@PAJAJARAN ~]# service rsyslog start
    Starting system logger:                                    [  OK  ]
    
    
Tahap Akhir, Mari kita periksa apakah Log dari Server Client (MAJAPAHIT) sudah terkirim ke Server Sentral Log (PAJAJARAN) atau belum.

[root@PAJAJARAN log]# cat /var/log/MAJAPAHIT.log
# Log dari server MAJAPAHIT
2013-12-10T20:13:54+07:00 MAJAPAHIT kernel: Kernel logging (proc) stopped.
2013-12-10T20:13:54+07:00 MAJAPAHIT rsyslogd: [origin software="rsyslogd" 
swVersion="5.8.12" x-pid="9341" x-info="http://www.rsyslog.com"] exiting on 
signal 15.
2013-12-10T20:13:54+07:00 MAJAPAHIT kernel: imklog 5.8.12, log source = 
/proc/kmsg started.
2013-12-10T20:13:54+07:00 MAJAPAHIT rsyslogd: [origin software="rsyslogd" 
swVersion="5.8.12" x-pid="9402" x-info="http://www.rsyslog.com"] start


Dari hasil diatas, Log sudah terkirim dan tersimpan di server Sentral Log. Untuk menambahkan server yang lainnya dengan alamat IP yang berbeda, kita bisa lakukan perubahan konfigurasi dengan menambahkan alamat ip beserta pembuatan file log baru. Misalnya saya akan menambahkan server SRIWIJAYA dengan ip 192.168.1.102 dan menyimpan log nya dengan nama SRIWIJAYA.log.
Kita ubah file /etc/rsyslog.conf pada baris berikut:

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
:FROMHOST-IP, isequal, "192.168.1.101" /var/log/MAJAPAHIT.log 
:FROMHOST-IP, isequal, "192.168.1.102" /var/log/SRIWIJAYA.log
& ~


Dan seterusnya, bisa kita tambahkan sebelum baris (& ~). Jangan lupa untuk membuat file log nya
[root@PAJAJARAN ~]# cd /var/log/
[root@PAJAJARAN log]# nano SRIWIJAYA.log


Disini saya hanya memberikan contoh sederhana saja, selebihnya kita bisa kembangkan sesuai kebutuhan masing-masing.

Tidak ada komentar:

Posting Komentar