GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengekspor Log Server Anda dengan Rsyslog di Centos 8

Dalam posting ini, Anda akan belajar cara Mengekspor Log Server Anda dengan Rsyslog di Centos 8

Pada artikel ini, kita akan membahas pengaturan daemon CentOS/RHEL 8 RSyslog untuk mengirimkan pesan log ke server RSyslog jarak jauh. Konfigurasi ini memastikan bahwa ruang disk pada mesin Anda tersedia untuk tujuan lain.

Di CentOS 8, daemon Rsyslog sudah terinstal dan beroperasi secara default. Berikan perintah berikut untuk melihat apakah layanan rsyslog aktif pada sistem.

# grep rsyslog | rpm –q 
# rsyslogd –v 

Jika paket Rsyslog tidak diinstal pada sistem CentOS Anda, jalankan perintah di bawah ini untuk menginstalnya.

# yum install rsyslog

Ekspor Log Server Anda dengan RSyslog

Ubah file konfigurasi rsyslog sebagai berikut untuk memaksa daemon Rsyslog yang diinstal pada sistem CentOS 8 berfungsi sebagai klien log dan mengirim semua pesan log yang dibuat secara lokal ke server RSyslog yang jauh:

Untuk mulai mengubah, buka file konfigurasi utama:

# vim /etc/rsyslog.conf

Kemudian, seperti yang ditunjukkan dalam kutipan di bawah ini, tambahkan baris berikut di akhir file.

# *. *  @192.168.1.59:514

Pastikan alamat IP dan FQDN server rsyslog jarak jauh diganti dengan benar di baris di atas. Baris sebelumnya memberi tahu daemon Rsyslog untuk mengirim semua pesan log ke IP 192.168.1.59 melalui port 514/UDP, terlepas dari fasilitas atau tingkat keparahannya.

Tambahkan karakter @ lain di depan host jarak jauh jika server log jarak jauh dikonfigurasi untuk hanya menerima koneksi TCP atau jika Anda ingin menggunakan protokol jaringan transport yang dapat diandalkan seperti TCP, seperti yang diilustrasikan dalam contoh di bawah ini:

# *. *  @@logs.domain.lan:514

Karakter khusus, seperti =atau!, dapat diawali dengan tingkat prioritas di rsyslog Linux untuk menandakan “hanya prioritas ini” untuk tanda sama dengan dan “bukan prioritas ini atau lebih tinggi dari ini” untuk!

Berikut adalah beberapa contoh qualifier tingkat prioritas Rsyslog:

kern.info =Log kernel dengan prioritas informasi atau lebih tinggi.
kern.=info =Hanya pesan kernel dengan prioritas informasi yang diperbolehkan.
kern.info;kern.!err =Hanya pesan kernel dengan info prioritas, pemberitahuan, dan peringatan yang diperbolehkan.
kern.debug;kern.!=warning =Kecuali untuk peringatan, semua prioritas kernel adalah sama.
kern.* =Semua pesan dengan prioritas di kernel
kern.none =Terlepas dari prioritas, jangan mencatat pesan fasilitas kernel yang terkait.

Misalnya, jika Anda hanya ingin mengirim subset pesan fasilitas ke server log jarak jauh, seperti semua pesan email terkait, apa pun prioritasnya, tambahkan baris berikut ke file konfigurasi rsyslog:

# mail.* @192.168.1.59:514

Terakhir, agar pengaturan yang diperbarui berlaku, layanan Rsyslog harus dimulai ulang dengan perintah berikut:

# systemctl restart rsyslog.service

Jika daemon Rsyslog tidak diaktifkan selama waktu boot karena alasan tertentu, jalankan perintah berikut untuk mengaktifkan seluruh sistem layanan:

# systemctl enable rsyslog.service

Kirim Log Server Web ke Server Log Jarak Jauh

Dengan menambahkan baris berikut ke file konfigurasi utama Apache, seperti yang ditunjukkan di bawah ini, server HTTP dapat dikonfigurasi untuk mengirimkan pesan log ke server syslog jarak jauh.

# vim /etc/httpd/conf/httpd.conf

Pada file conf utama Apache tambahkan baris di bawah ini.

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

Baris tersebut memberi tahu daemon HTTP untuk menulis pesan log ke file log sistem file, tetapi juga memerintahkannya untuk mengirimnya ke server syslog yang jauh dengan menetapkannya sebagai berasal dari fasilitas local1.

Jika Anda juga ingin mengirim pesan log kesalahan Apache ke server syslog jarak jauh, buat aturan baru yang serupa dengan yang diberikan di atas, tetapi ubah nama file log httpd dan tingkat keparahan file log agar sesuai dengan prioritas kesalahan , seperti yang ditunjukkan pada contoh berikut:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

Setelah Anda mengubah baris di atas, Anda harus memulai ulang daemon Apache untuk melihat perubahan diterapkan:

# systemctl restart httpd.service

Dengan menambahkan baris kode berikut ke file konfigurasi nginx, server web Nginx memiliki kemampuan bawaan untuk secara langsung mencatat pesannya ke server syslog jarak jauh pada versi 1.7.1.

error_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=info main;/code>

Untuk menerima log yang dikirim oleh server web Apache, buat perubahan berikut pada file konfigurasi rsyslog di server RSyslog jarak jauh.

local1.* @Apache_IP_address:514

Itu menyimpulkan diskusi kami. Anda telah berhasil menyiapkan daemon Rsyslog untuk dijalankan dalam mode klien, serta mengarahkan Apache atau Nginx untuk merutekan pesan log ke server syslog jarak jauh.

Jika sistem Anda rusak, Anda seharusnya dapat mengetahui apa yang salah dengan melihat konten file log yang disimpan di server syslog jarak jauh.

Sekarang Anda tahu cara mengekspor Log Server Anda menggunakan Rsyslog.

Lihat beranda kami untuk panduan lebih lanjut


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

  2. Cara Mengatur Server DNS Pribadi dengan BIND di CentOS 8

  3. Cara mengubah Direktori Log Default (/ var/log) di Rsyslog untuk CentOS/RHEL 6,7

  1. Cara Menginstal lnav di CentOS 7

  2. Rsyslog :Cara Mengirim file log ke server jauh di CentOS/RHEL 6,7

  3. Cara mengirim Log Audit ke Server Rsyslog Jarak Jauh di CentOS/RHEL 6,7

  1. Cara Menginstal CentOS 8 (dengan Tangkapan Layar)

  2. Cara memantau penggunaan sumber daya server Anda dengan Munin di CentOS 6

  3. Cara:Mengelola Log Sistem dengan Journalctl