Remote Log menggunakan Rsyslog di Ubuntu

#3 Log remote
mencoba membuat fitur remote logging pakai syslogd

Terdapat 3 cara untuk melakukan log pada pesan:

  1. Logging pada server yang sama: Pesan ditulis di dalam lokal harddisk atau database.
  2. Logging menggunakan sebuah remote server: Log akan dikirimkan melalui jaringan menuju sebuah server log terpusat. Pada server log pusat, pesan yang berasal dari berbagai macam sistem ditulis ke dalam lokal drive/database.
  3. Relay logging: Cabang ‘A’ and Cabang ‘B’ merekam log pesan pada dua(2) server yang berbeda. Kedua server ini These mengirimkan log pesan ke ‘Head Office’.

Pada percobaan kali ini kita akan menggunakan percobaan 2 (Logging pada sebuah remote server). Ada dua host yaitu host untuk log server dan host client yang mengirimkan pesan log ke log server.

Host A (Log Server) -> Ubuntu 15.04 Pyhsical Host, Alamat IP: 192.168.10.43

Host B (Client)-> Ubuntu 15.04 Virtual Host, Alamat IP:192.168.56.101

Pada Ubuntu kita dapat menggunakan fasilitas remote logging menggunakan rsyslogd secara default.

Pada percobaan kali ini kita akan mencoba menggunakan sebuah klien mengirimkan informasi syslog klien  ke server syslog yang telah kita setting. Topologinya seperti dibawah ini:

Topologi
Topologi Remote Log antara Klien dan Server

File Konfigurasi rsyslog.conf terdiri dari tiga(3) bagian yaitu:

  1. Modules. Rsyslog terdiri dari arsitektur modular. Arsitketur tersebut membuat fungsionalitas ditambahkan secara dinamis melalui modul-modul tersebut. Modul tersebut yaitu:
    • Input Modules – Untuk mengumpulkan pesan log dari berbagai sumber
    • Output Modules – Untuk menulis pesan log ke berbagai tempat ( file, socket,dll)
    • Parser Modules – Untuk melakukan parsing isi pesan log
  2. Configuration Directives. Seluruh perintah konfigurasi harus dispesifikasikan per baris dan harus dimulai dengan tanda dollar ($). Perintah konfigurasi ini akan berdampak pada rules yang kita buat.
  3. Rule line. Setiap rule line terdiri dari dua(2) fields yaitu sebuah ‘selector field’ and sebuah ‘action field’. Selector field dibagi menjadi dua yaitu ‘facilities & priorities’. Action field menspesifikasikan langkah apa yang harus dilakukan untuk mencocokkan dengan rule yang sudah dibuat.

Tutorial

Konfigurasi di Host Log Server (192.168.10.43)

1. Open File di Terminal

sudo nano /etc/rsyslog.conf

2. Edit file (Ubah file konfigurasi seperti dibawah ini)

#################
#### MODULES ####
#################

$ModLoad imuxsock # menyediakan dukungan untuk sistem log di lokal file
$ModLoad imklog # menyediakan dukungan logging kernel
#$ModLoad immark # menyediakan pesan –MARK

# provides UDP syslog reception
#$ModLoad imudp   –>Hilangkan tanda “#” sehingga server mendengar port tertentu yang telah kita setting
#$UDPServerRun 514   –> Hilangkan tanda “#” – spesifikasi nomor port UDP, secara default port 514

# provides TCP syslog reception
#$ModLoad imtcp   –> Hilangkan tanda “#” sehingga server mendengar TCP port yang telah ditentukan
#$InputTCPServerRun 514  –> Hilangkan tanda “#” – Spesifiaksi nomor port, secara default port 514

Tambahkan pada baris selanjutnya:

#  Ini adalah template untuk menghasilkan nama file log secara dinamis, tergantung pada alamat IP klien
$template FILENAME,”/var/log/%fromhost-ip%/syslog.log”

# Merekam seluruh pesan log ke file dalam bentuk tertentu secara dinamis. Setiap klien (misal alamat IP 192.168.56.101, 192.168.57..101, dll) akan dibuat sebuah direktori terpisah dengan template FILENAME
*.* ?FILENAME

Konfigurasinya seperti dibawah ini:

Konfigurasi rsyslog.conf pada log server
Konfigurasi rsyslog.conf pada log server

Setelah selesai konfigurasi restart service rsyslog, dengan mengetikkan di terminal:

/etc/init.d/rsyslog restart

Konfigurasi File di Klien

Kita akan melakukan konfigurasi di host klien (192.168.56.101)/Virtual Host

  1. Buka terminal dan ketik sudo nano /etc/rsyslog.conf
  2. Edit file konfigurasi seperti di bawah ini$ModLoad imuxsock$ModLoad imklogTambahkan di line file paling bawah:# Melakukan UDP forwarding. Alamat IP adalah Alamat IP Log Server
    *.* @192.168.10.43:514Konfigurasi rsyslog.conf di klienKonfigurasi rsyslog.conf di klien
  3. Simpan (Ctrl-X)
  4. Restart service: /etc/init.d/rsyslog.conf restart. Catatan: 192.168.10.43 adalah ip log server

Verifikasi log dari klien (192.168.56.101) disimpan di log server (192.168.10.43)

Pada Syslog server (192.168.10.43) periksa direktori “/var/log” untuk melihat apakah direktori klien telah dibuat.

cd /var/log && lsDirektori /var/log

Jika kita lihat di Direktori /var/log, terdapat folder 192.168.10.43, jika kita buka maka akan terdapat file syslog.log yang menyimpan informasi log klien.

less syslog.log
less syslog.log

 

 

 

Maka akan muncul tampilan dibawah ini:

syslog record klien (192.168.56.101)
syslog record klien (192.168.56.101)

Kita juga dapat menggunakan salah satu tools seperti LogAnalyzer untuk menampilkan GUI log server terpusat dengan membuat database mysql terlebih dahulu.

Tampilan syslog menggunakan LogAnalyzer
Tampilan syslog menggunakan LogAnalyzer

Leave a Reply

Your email address will not be published. Required fields are marked *