Mengatur server log terpusat dengan rsyslog di CentOS/RHEL 8

Mengatur server log terpusat dengan rsyslog di CentOS/RHEL 8

Agar administrator sistem dapat mengenali atau menganalisis masalah pada a Centos 8 atau RHEL 8 server, penting untuk mengetahui dan melihat peristiwa yang terjadi di server dalam periode waktu tertentu dari file log yang ditemukan di /var/log direktori dalam sistem.

Itu Syslog (Protokol logging sistem) Sistem di server dapat bertindak sebagai titik pemantauan log pusat melalui jaringan di mana semua server, perangkat jaringan, sakelar, router, dan layanan internal yang membuat log, apakah ditautkan ke masalah internal tertentu atau hanya pesan informatif yang dapat mengirim log mereka.

Pada suatu Centos/rhel 8 server, Rsyslog Daemon adalah server log terpenting yang diinstal sebelumnya secara default, diikuti oleh Systemd Journal Daemon (Journald).

Rsyslog adalah utilitas open-source, dikembangkan sebagai layanan arsitektur klien/server dan dapat mencapai kedua peran secara mandiri. Ini dapat berjalan sebagai server dan mengumpulkan semua log yang dikirimkan oleh perangkat lain melalui jaringan atau dapat dijalankan sebagai klien dengan mengirim semua acara sistem internal yang dicatat ke jarak jauh Syslog server.

Persyaratan

  1. Pemasangan “Centos 8.0 "dengan tangkapan layar
  2. Pemasangan RHEL 8 dengan tangkapan layar

Untuk mengatur server log terpusat di a Centos/rhel 8 server, Anda perlu memeriksa konfirmasi bahwa /var Partisi memiliki ruang yang cukup (beberapa minimum GB) untuk menyimpan semua file log yang direkam pada sistem yang dikirim oleh perangkat lain di jaringan. Saya sarankan Anda memiliki drive terpisah (LVM atau SERANGAN) untuk memasang /var/log/ direktori.

Cara mengkonfigurasi server rsyslog di centos/rhel 8

1. Seperti yang saya katakan, Rsyslog Layanan diinstal dan dijalankan secara otomatis Centos/rhel 8 server. Untuk memverifikasi bahwa daemon berjalan dalam sistem, jalankan perintah berikut.

# Systemctl Status Rsyslog.melayani 
Periksa status rsyslog di Centos 8

Jika layanan tidak berjalan secara default, jalankan perintah berikut untuk memulai rsyslog Daemon.

# systemctl mulai rsyslog.melayani 

2. Jika Rsyslog Utilitas tidak diinstal secara default pada sistem yang Anda rencanakan untuk digunakan sebagai server logging terpusat, jalankan perintah DNF berikut untuk menginstal paket rsyslog dan mulai daemon.

# DNF Instal Rsyslog # Systemctl Mulai Rsyslog.melayani 

3. Sekali Rsyslog Utilitas Terpasang, Anda sekarang dapat mengonfigurasi rsyslog sebagai server logging terpusat dengan membuka file konfigurasi utama /etc/rsyslog.conf, Untuk menerima pesan log untuk klien eksternal.

# vi /etc /rsyslog.conf 

Dalam /etc/rsyslog.conf file konfigurasi, temukan, dan buka komentar baris berikut untuk memberikan penerimaan transportasi UDP ke Rsyslog server via 514 pelabuhan. Rsyslog menggunakan standar UDP Protokol untuk transmisi log.

modul (muat = "imudp") # perlu dilakukan hanya sekali input (type = "imudp" port = "514") 
Konfigurasikan server rsyslog di CentOS 8

4. Protokol UDP tidak memiliki TCP overhead, dan itu membuat transmisi data lebih cepat dari TCP protokol. Di sisi lain, UDP Protokol tidak menjamin keandalan data yang ditransmisikan.

Namun, jika Anda ingin menggunakan TCP Protokol untuk penerimaan log Anda harus menemukan dan membatalkan komentar pada baris berikut di /etc/rsyslog.conf file konfigurasi untuk mengonfigurasi daemon rsyslog untuk mengikat dan mendengarkan soket TCP di 514 pelabuhan.

modul (muat = "imtcp") # perlu dilakukan hanya sekali input (type = "imtcp" port = "514") 

5. Sekarang buat templat baru untuk menerima pesan jarak jauh, karena template ini akan memandu server rsyslog lokal, di mana menyimpan pesan yang diterima oleh klien jaringan syslog.

$ Template Remotelogs, "/var/log/%hostname%/%ProgramName%.catatan" *.* ?Remotelogs 
Buat template untuk server rsyslog

Itu $ Template Remotelogs Panduan Petunjuk Rsyslog Daemon Untuk Mengumpulkan dan Menulis Semua Pesan Log yang Dipindahkan ke File Berbeda, Berdasarkan Nama Klien dan Aplikasi Klien Jarak Jauh yang Membuat Pesan Berdasarkan Properti Diuraikan yang Ditambahkan Dalam Konfigurasi Templat: %Hostname%dan%programname%.

Semua file log yang diterima akan ditulis ke sistem file lokal ke file yang dialokasikan dinamai nama host mesin klien dan disimpan di /var/log/ direktori.

Itu & ~ Redirect Rule mengarahkan server rsyslog lokal untuk berhenti memproses pesan log yang diterima lebih lanjut dan menghapus pesan (tidak menulisnya ke file log internal).

Itu Remotelogs adalah nama sewenang -wenang yang diberikan untuk arahan templat ini. Anda dapat menggunakan nama apa pun yang Anda inginkan yang paling cocok untuk template Anda.

Untuk mengonfigurasi templat rsyslog yang lebih kompleks, baca manual file konfigurasi rsyslog dengan menjalankan Man Rsyslog.conf Perintah atau Konsultasikan Rsyslog Dokumentasi Online.

# man rsyslog.conf 

6. Setelah membuat perubahan konfigurasi di atas, Anda dapat memulai kembali daemon rsyslog untuk menerapkan perubahan terbaru dengan menjalankan perintah berikut.

# layanan rsyslog restart 

7. Setelah Anda memulai kembali Rsyslog server, sekarang harus bertindak sebagai server log terpusat dan merekam pesan dari klien syslog. Untuk mengonfirmasi soket jaringan rsyslog, jalankan perintah Netstat dan gunakan utilitas grep untuk memfilter string rsyslog.

# netstat -tulpn | grep rsyslog 

Jika Perintah Netstat tidak intall Centos 8, Anda dapat menginstalnya menggunakan perintah berikut.

# DNF Whatprovides NetStat # DNF Instal Net-Tools 
Periksa soket mendengarkan rsyslog

8. kalau sudah Selinux aktif di Centos/rhel 8, Jalankan perintah berikut untuk memungkinkan lalu lintas rsyslog tergantung pada jenis soket jaringan.

# Sarganage Port -a -t syslogd_port_t -p udp 514 # port semanage -a -t syslogd_port_t -p TCP 514 

Jika Komando Semanage tidak menginstal Centos 8, Anda dapat menginstalnya menggunakan perintah berikut.

# DNF WhatProvides Semanage # DNF Instal PolicyCoreutils-Python-Utils 

9. Jika Anda memiliki firewall yang aktif pada sistem, jalankan perintah berikut untuk menambahkan aturan yang diperlukan untuk memungkinkan lalu lintas rsyslog di port di firewalld.

# firewall-cmd --permanent --add-port = 514/tcp # firewall-cmd --permanent --add-port = 514/udp # firewall-cmd ---eload 

Anda juga dapat membatasi koneksi yang masuk di port 514 dari rentang IP yang masuk daftar putih seperti yang ditunjukkan.

# firewall-cmd --permanent --add-rich-rule 'aturan family = "ipv4" source address = "123.123.123.0/21"port port =" 514 "protocol =" tcp "terima ' # firewall-cmd --permanent --add-rich-aturan' aturan keluarga =" ipv4 "alamat sumber ="123.123.123.0/21"port port =" 514 "protocol =" udp "terima ' # firewall-cmd --eload 

Itu saja! Rsyslog sekarang dikonfigurasi sebagai server logs centrize dan dapat mengumpulkan log dari klien jarak jauh. Di artikel berikutnya, kita akan melihat cara mengkonfigurasi klien rsyslog di Centos/rhel 8 server.