GNU/Linux >> Belajar Linux >  >> Linux

Cara Setup Rsyslog Remote Logging di Linux (Central Log Server)

Setiap distribusi Linux memiliki semacam mekanisme logging yang mencatat semua aktivitas sistem. Beberapa waktu yang lalu kami menyediakan daftar 20 file log yang disimpan di bawah /var/log yang mungkin dapat membantu Anda selama pemecahan masalah. Log ini sangat penting bagi sysadmin untuk tujuan pemecahan masalah.

Berikut ini adalah tiga metode umum untuk mencatat pesan:

  1. Logging di server yang sama:Pesan ditulis ke dalam hard drive lokal/basis data lokal
  2. Logging di server jauh:Banyak sistem meneruskan log mereka melalui jaringan ke server log pusat. Di server log pusat, pesan dari berbagai sistem ditulis ke hard drive/database lokal.
  3. Relay logging:Cabang 'A' dan Cabang 'B' mencatat pesan pada 2 server yang berbeda. Server ini secara bergantian mencatat pesan ke 'Kantor Pusat'.


Rsyslog adalah program logging default pada beberapa distribusi Linux termasuk sistem berbasis Debian dan Red Hat. Selain mengimplementasikan protokol syslog, rsyslog menambahkan fitur tambahan seperti pemfilteran berbasis konten. Ini juga menggunakan TCP untuk transportasi, dan menyediakan banyak opsi konfigurasi.

Artikel ini menjelaskan cara menerapkan metode 2 yang disebutkan di atas. yaitu Ini menjelaskan cara menyiapkan server logging pusat, dan mengirim log dari masing-masing server ke server logging pusat.

Penyiapan ini akan membantu Anda menganalisis file log semua server di infrastruktur Anda dari server log pusat.

Pemasangan

Rsyslog hadir sebagai program logging default di Distribusi Debian dan sistem berbasis Red Hat. Jika sistem Anda tidak memiliki rsyslog, instal seperti yang ditunjukkan di bawah ini tergantung pada distro Anda.

apt-get install rsyslog rsyslog-doc
(or)
yum install rsyslog rsyslog-doc

Konfigurasi rsyslog disimpan di file /etc/ryslog.conf dan file di bawah direktori /etc/rsyslog.d/.

Struktur Konfigurasi

Sebelum memahami cara mengatur server logging pusat, ada baiknya untuk memahami struktur konfigurasi rsyslog.

File konfigurasi Rsyslog disusun dengan cara berikut

  1. Modul
  2. Petunjuk Konfigurasi
  3. Baris aturan

Modul

Rsyslog memiliki arsitektur modular. Ini memungkinkan fungsionalitas ditambahkan secara dinamis melalui modul-modul ini. Modul dikategorikan sebagai:

  • Modul Masukan – Digunakan untuk mengumpulkan pesan dari berbagai sumber
  • Modul Output – Digunakan untuk menulis pesan ke berbagai tempat (file, socket dll.)
  • Modul Parser – Digunakan untuk mengurai isi pesan

Harap dicatat bahwa ada juga kategori modul lain yang tersedia. Ini untuk memberikan gambaran tentang apa yang dapat dilakukan modul.

Petunjuk Konfigurasi

Semua arahan konfigurasi harus ditentukan satu per baris dan harus dimulai dengan tanda dolar ($). Ini memengaruhi aturan.

Baris aturan

Setiap baris aturan terdiri dari dua bidang, 'bidang pemilih' dan 'bidang tindakan'. Bidang pemilih dibagi menjadi dua, 'fasilitas &prioritas'. Tindakan menentukan tindakan apa yang harus diambil untuk aturan yang cocok.

Contoh Konfigurasi

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

$ModLoad imuxsock
$ModLoad imklog

######################
	Directives
######################
# Set the default permissions for all log files. 

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755

######################
	RULES
######################
mail.info	/var/log/mail.info
mail.warn	/var/log/mail.warn
mail.err	/var/log/mail.err
daemon.*	/var/log/daemon.log

Catatan:10 Contoh untuk Melihat File Log Besar di Linux mungkin berguna saat Anda memanipulasi file log.

Templat

Template adalah fitur yang sangat penting yang disediakan oleh rsyslog. Ini memungkinkan pengguna untuk mencatat pesan dalam format yang diinginkan. Ini juga dapat digunakan untuk membuat nama file dinamis untuk mencatat pesan. Dalam kasus logging database, template digunakan untuk mengonversi pesan menjadi pernyataan SQL yang tepat.

Contoh template akan terlihat seperti:

$template mytemplate “Text-Before %msg% Text-After\n”

Template di atas akan mencatat pesan “Ini halo dari rsyslog” sebagai:

Text-Before This is hello from rsyslog Text-After

Kita akan melihat bagaimana menggunakan template untuk menghasilkan file log secara dinamis.

Server Logging Pusat

Bagian di atas seharusnya memberikan gambaran umum tentang rsyslog dan cara mengkonfigurasinya. Sekarang kita akan beralih ke penyiapan sistem pencatatan terpusat.

Untuk diskusi kita, kita akan memiliki IP server sebagai “192.168.1.1” untuk server log pusat, di mana semua pesan log dari klien harus diteruskan.

Tambahkan baris berikut ke rsyslog.conf dari server server log pusat (Dalam contoh ini, baris berikut telah ditambahkan pada server log dengan alamat ip 192.168.1.1):

# provides support for local system logging
$ModLoad imuxsock 

# provides kernel logging support (previously done by rklogd)
$ModLoad imklog

# provides UDP syslog reception. For TCP, load imtcp.
$ModLoad imudp

# For TCP, InputServerRun 514
$UDPServerRun 514

# This one is the template to generate the log filename dynamically, depending on the client's IP address.
$template FILENAME,"/var/log/%fromhost-ip%/syslog.log"

# Log all messages to the dynamically formed file. Now each clients log (192.168.1.2, 192.168.1.3,etc...), will be under a separate directory which is formed by the template FILENAME.
*.* ?FILENAME

Setelah menambahkan baris di atas ke rsyslog.conf, mulai ulang proses rsyslog. Sekarang server rsyslog akan siap menerima pesan.

# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

Tambahkan baris berikut ke rsyslog.conf pada mesin klien individu yang harus mengirim pesan log mereka ke server pusat.

$ModLoad imuxsock

$ModLoad imklog

# Provides UDP forwarding. The IP is the server's IP address
*.* @192.168.1.1:514 

# Provides TCP forwarding. But the current server runs on UDP
# *.* @@192.168.1.1:514

Mulai ulang proses rsyslog pada klien. Sekarang server pusat rsyslog (Dalam contoh ini, 192.168.1.1) akan menerima semua pesan log dari klien yang dikonfigurasi dan setiap log klien akan ditempatkan di bawah direktori terpisah.


Linux
  1. Cara mengatur rsyslog untuk Manajemen Log Terpusat

  2. Cara Mengatur Server Rsyslog di Ubuntu 18.04 LTS

  3. Cara Setup Server Rsyslog di Debian 11

  1. Bagaimana cara mengkonfigurasi server log jarak jauh dengan rsyslog?

  2. Cara Mengatur SSH Tanpa Kata Sandi di Linux

  3. Cara Mengatur Terowongan SSH Terbalik di Linux

  1. Cara menggunakan rsyslog untuk membuat server agregasi log Linux

  2. Cara Mengatur Server Logging Terpusat menggunakan Rsyslog

  3. Setup Rsyslog Server di Ubuntu 20.04 - Bagaimana cara melakukannya?