Cara Mengatur Klien Rsyslog Untuk Mengirim Log ke Server Rsyslog di Centos 7

Cara Mengatur Klien Rsyslog Untuk Mengirim Log ke Server Rsyslog di Centos 7

Manajemen log adalah salah satu komponen paling penting dalam infrastruktur jaringan. Pesan log terus -menerus dihasilkan oleh berbagai perangkat lunak sistem, seperti utilitas, aplikasi, daemon, layanan yang terkait dengan jaringan, kernel, perangkat fisik dan sebagainya.

File log terbukti bermanfaat jika masalah pemecahan masalah sistem Linux, memantau sistem dan meninjau kekuatan dan masalah keamanan sistem.

Rsyslog adalah program logging open source, yang merupakan mekanisme logging paling populer dalam sejumlah besar distribusi Linux. Itu juga layanan logging default di Centos 7 atau RHEL 7.

Rsyslog Daemon di CentOS dapat dikonfigurasi untuk dijalankan sebagai server untuk mengumpulkan pesan log dari beberapa perangkat jaringan. Perangkat ini bertindak sebagai klien dan dikonfigurasi untuk mengirimkan log mereka ke server rsyslog.

Namun, Rsyslog Layanan juga dapat dikonfigurasi dan dimulai dalam mode klien. Pengaturan ini menginstruksikan daemon rsyslog untuk meneruskan pesan log ke server rsyslog jarak jauh menggunakan protokol transportasi TCP atau UDP. Layanan rsyslog juga dapat dikonfigurasi untuk dijalankan sebagai klien dan sebagai server secara bersamaan.

Dalam tutorial ini kami akan menjelaskan cara mengatur a Centos/rhel 7 Rsyslog Daemon untuk mengirim pesan log ke server rsyslog jarak jauh. Pengaturan ini memastikan bahwa ruang disk mesin Anda dapat dipertahankan untuk menyimpan data lain.

Tempat di mana hampir semua file log ditulis secara default Centos adalah /var jalur sistem. Juga disarankan untuk selalu membuat partisi terpisah /var direktori, yang dapat ditanam secara dinamis, agar tidak menghabiskan /(akar) partisi.

Sebuah Rsyslog Klien selalu mengirim pesan log dalam teks biasa, jika tidak ditentukan sebaliknya. Anda tidak boleh mengatur klien rsyslog untuk mengirimkan pesan log melalui internet atau jaringan yang tidak berada di bawah kendali penuh Anda.

Persyaratan

  1. Centos 7.3 Prosedur Instalasi
  2. RHEL 7.3 Prosedur Instalasi
  3. Konfigurasikan server rsyslog di CentOS/RHEL 7

Langkah 1: Verifikasi instalasi rsyslog

1. Secara default, daemon rsyslog sudah terpasang dan berjalan dalam sistem Centos 7. Untuk memverifikasi apakah layanan rsyslog hadir dalam sistem, keluarkan perintah berikut.

# rpm -q | grep rsyslog # rsyslogd -v 
Periksa instalasi rsyslog

2. Jika paket rsyslog tidak diinstal di CentOS, jalankan perintah di bawah ini untuk menginstal layanan.

# yum instal rsyslog 

Langkah 2: Mengkonfigurasi layanan rsyslog sebagai klien

3. Untuk menegakkan daemon rsyslog yang diinstal pada a Centos 7 Sistem untuk bertindak sebagai klien log dan merutekan semua pesan log yang dihasilkan secara lokal ke server rsyslog jarak jauh, memodifikasi file konfigurasi rsyslog sebagai berikut:

Pertama buka file konfigurasi utama untuk diedit.

# vi /etc /rsyslog.conf 

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

*. * @192.168.10.254: 514 

Pada baris di atas, pastikan Anda mengganti alamat IP dari FQDN dari server rsyslog jarak jauh yang sesuai. Baris di atas menginstruksikan daemon rsyslog untuk mengirim semua pesan log, terlepas dari fasilitas atau keparahan, ke host dengan IP 192.168.10.254 melalui 514/UDP pelabuhan.

Konfigurasikan klien rsyslog

4. Jika server log jarak jauh dikonfigurasi untuk mendengarkan hanya pada koneksi TCP atau Anda ingin menggunakan protokol jaringan transportasi yang andal, seperti TCP, tambahkan yang lain @ Karakter di depan host jarak jauh seperti yang ditunjukkan pada contoh di bawah ini:

*. * @@ log.domain.LAN: 514 

Linux rsyslog juga memungkinkan memiliki beberapa karakter khusus, seperti = atau !, yang dapat diawali dengan tingkat prioritas untuk menunjukkan “Prioritas ini saja"Untuk tanda yang sama dan"bukan prioritas ini atau lebih tinggi dari ini".

Beberapa sampel kualifikasi tingkat prioritas rsyslog di Centos 7:

  • lelaki yg tdk terpelajar.info = log kernel dengan prioritas info dan lebih tinggi.
  • lelaki yg tdk terpelajar.= info = Hanya pesan kernel dengan prioritas info.
  • lelaki yg tdk terpelajar.info; kern.!berbuat salah = Hanya pesan kernel dengan info, pemberitahuan, dan prioritas peringatan.
  • lelaki yg tdk terpelajar.Debug; Kern.!= peringatan = semua prioritas kernel kecuali peringatan.
  • lelaki yg tdk terpelajar.* = semua pesan prioritas kernel.
  • lelaki yg tdk terpelajar.tidak ada = Jangan mencatat pesan fasilitas kernel terkait terlepas dari prioritasnya.

Misalnya, dengan asumsi Anda hanya ingin mengirim pesan fasilitas tertentu ke server log jarak jauh, seperti semua pesan surat terkait terlepas dari tingkat prioritas, tambahkan baris di bawah ini ke file konfigurasi rsyslog:

surat.* @192.168.10.254: 514 

5. Akhirnya, untuk menerapkan konfigurasi baru, layanan rsyslog perlu dimulai kembali agar daemon dapat mengambil perubahan, dengan menjalankan perintah di bawah ini:

# Systemctl restart rsyslog.melayani 

6. Jika karena beberapa alasan Rsyslog Daemon tidak diaktifkan selama waktu boot, keluarkan perintah di bawah ini untuk mengaktifkan sistem layanan di seluruh:

# Systemctl Mengaktifkan rsyslog.melayani 

Langkah 3: Kirim log apache dan nginx ke server log jarak jauh

7. Server Apache HTTP dapat dikonfigurasi untuk mengirim pesan log ke server Syslog jarak jauh dengan menambahkan baris berikut ke file konfigurasi utamanya seperti yang diilustrasikan dalam contoh di bawah ini.

# vi/etc/httpd/conf/httpd.conf 

Di Apache File Main Conf Tambahkan baris di bawah ini.

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

Baris akan menegakkan daemon http untuk menulis pesan log secara internal ke file log sistem file, tetapi juga memproses pesan lebih lanjut melalui pipa ke utilitas logger, yang akan mengirimkannya ke server syslog yang jauh, dengan menandai mereka berasal dari local1 fasilitas.

8. Jika Anda juga ingin mengarahkan Apache Pesan Log Kesalahan ke Server Syslog jarak jauh, tambahkan aturan baru sebagai yang disajikan dalam contoh di atas, tetapi pastikan untuk mengganti nama file log HTTPD dan level keparahan file log agar sesuai dengan prioritas kesalahan, seperti yang ditunjukkan pada berikut ini Sampel:

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

9. Setelah Anda menambahkan baris di atas, Anda perlu me -restart Apache Daemon untuk menerapkan perubahan, dengan mengeluarkan perintah berikut:

# Systemctl restart httpd.melayani 

10. Per versi 1.7.1, Nginx Web Server memiliki kemampuan build-in untuk secara langsung mencatat pesannya ke server Syslog jarak jauh, dengan menambahkan baris kode berikut ke file konfigurasi NGINX.

ERROR_LOG SYSLOG: Server = 192.168.1.10: 514, fasilitas = local7, tag = nginx, keparahan = kesalahan; Access_log Syslog: Server = 192.168.10.254: 514, fasilitas = local7, tag = nginx, keparahan = info main; 

Untuk sebuah IPv6 Server, gunakan format sintaks berikut untuk melampirkan alamat IPv6.

Access_log syslog: server = [7101: dc7 :: 9]: 514, fasilitas = local7, tag = nginx, keparahan = info; 

11. Pada server RSyslog jarak jauh Anda perlu membuat perubahan berikut ke file konfigurasi rsyslog, untuk menerima log yang dikirim oleh Apache Web Server.

local1.* @Apache_ip_address: 514 

Itu saja! Anda telah berhasil mengonfigurasi Rsyslog daemon untuk dijalankan dalam mode klien dan, juga, Anda telah menginstruksikan Apache http server atau Nginx Untuk meneruskan pesan lognya ke server Syslog jarak jauh.

Jika sistem Anda macet, Anda harus dapat menyelidiki masalah dengan memeriksa konten file log yang disimpan di server Syslog jarak jauh.