Cara Menyiapkan Pelanggan RSYSLOG Untuk Menghantar Log ke RSYSLOG Server di CentOS 7

Cara Menyiapkan Pelanggan RSYSLOG Untuk Menghantar Log ke RSYSLOG Server di CentOS 7

Pengurusan log adalah salah satu komponen paling kritikal dalam infrastruktur rangkaian. Mesej log sentiasa dihasilkan oleh pelbagai perisian sistem, seperti utiliti, aplikasi, daemon, perkhidmatan yang berkaitan dengan rangkaian, kernel, peranti fizikal dan sebagainya.

Fail log terbukti berguna sekiranya masalah sistem penyelesaian sistem Linux, memantau sistem dan mengkaji kekuatan dan masalah keselamatan sistem.

Rsyslog adalah program pembalakan sumber terbuka, yang merupakan mekanisme pembalakan yang paling popular dalam sejumlah besar pengagihan Linux. Ia juga merupakan perkhidmatan pembalakan lalai di Centos 7 atau RHEL 7.

Rsyslog Daemon di CentOS boleh dikonfigurasi untuk dijalankan sebagai pelayan dalam rangka mengumpul mesej log dari pelbagai peranti rangkaian. Peranti ini bertindak sebagai pelanggan dan dikonfigurasikan untuk menghantar balak mereka ke pelayan rsyslog.

Walau bagaimanapun Rsyslog Perkhidmatan juga boleh dikonfigurasikan dan dimulakan dalam mod pelanggan. Persediaan ini mengarahkan daemon rsyslog untuk meneruskan mesej log ke pelayan rsyslog jauh menggunakan protokol pengangkutan TCP atau UDP. Perkhidmatan rsyslog juga boleh dikonfigurasikan untuk dijalankan sebagai pelanggan dan sebagai pelayan pada masa yang sama.

Dalam tutorial ini, kami akan menerangkan cara menyiapkan a Centos/RHEL 7 RSYSLOG Daemon untuk menghantar mesej log ke pelayan rsyslog jauh. Persediaan ini memastikan bahawa ruang cakera mesin anda dapat dipelihara untuk menyimpan data lain.

Tempat di mana hampir semua fail log ditulis secara lalai Centos adalah /var Laluan sistem. Ia juga dinasihatkan untuk sentiasa membuat partition berasingan untuk /var direktori, yang boleh ditanam secara dinamik, agar tidak membuangnya /(root) partition.

An Rsyslog Pelanggan selalu menghantar mesej log dalam teks biasa, jika tidak dinyatakan sebaliknya. Anda tidak boleh menyiapkan klien rsyslog untuk menghantar mesej log melalui internet atau rangkaian yang tidak berada di bawah kawalan penuh anda.

Keperluan

  1. Centos 7.3 prosedur pemasangan
  2. RHEL 7.3 prosedur pemasangan
  3. Konfigurasikan pelayan rsyslog di CentOS/RHEL 7

Langkah 1: Sahkan pemasangan rsyslog

1. Secara lalai, daemon rsyslog sudah dipasang dan dijalankan dalam sistem CentOS 7. Untuk mengesahkan jika perkhidmatan rsyslog hadir dalam sistem, mengeluarkan arahan berikut.

# rpm -q | grep rsyslog # rsyslogd -v 
Semak pemasangan rsyslog

2. Sekiranya pakej rsyslog tidak dipasang di CentOS, laksanakan arahan di bawah untuk memasang perkhidmatan.

# yum pasang rsyslog 

Langkah 2: Konfigurasikan perkhidmatan rsyslog sebagai pelanggan

3. Untuk menguatkuasakan daemon rsyslog dipasang pada a Centos 7 Sistem untuk bertindak sebagai pelanggan log dan laluan semua mesej log yang dihasilkan secara tempatan ke pelayan RSYSLOG jauh, ubah fail konfigurasi RSYSLOG seperti berikut:

Mula -mula buka fail konfigurasi utama untuk mengedit.

# vi /etc /rsyslog.Conf 

Kemudian, tambahkan garis di bawah pada akhir fail seperti yang digambarkan dalam petikan di bawah.

*. * @192.168.10.254: 514 

Pada baris di atas pastikan anda menggantikan alamat IP FQDN pelayan RSYSLOG Jauh dengan sewajarnya. Baris di atas mengarahkan daemon rsyslog untuk menghantar semua mesej log, tanpa mengira kemudahan atau keterukan, kepada tuan rumah dengan IP 192.168.10.254 melalui 514/UDP pelabuhan.

Konfigurasikan klien rsyslog

4. Sekiranya pelayan log jauh dikonfigurasikan untuk mendengar hanya pada sambungan TCP atau anda ingin menggunakan protokol rangkaian pengangkutan yang boleh dipercayai, seperti TCP, tambahkan yang lain @ Watak di hadapan tuan rumah jauh seperti yang ditunjukkan dalam contoh di bawah:

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

Linux Rsyslog juga membolehkan beberapa watak khas, seperti = atau !, yang boleh diawali ke tahap keutamaan untuk menunjukkan "keutamaan ini sahaja"Untuk tanda yang sama dan"bukan keutamaan ini atau lebih tinggi daripada ini".

Beberapa contoh kelayakan peringkat keutamaan rsyslog di CentOS 7:

  • Kern.maklumat = log kernel dengan keutamaan maklumat dan lebih tinggi.
  • Kern.= Maklumat = Hanya mesej kernel dengan keutamaan maklumat.
  • Kern.Info; Kern.!err = Hanya mesej kernel dengan maklumat, notis, dan keutamaan amaran.
  • Kern.Debug; Kern.!= amaran = semua keutamaan kernel kecuali amaran.
  • Kern.* = semua mesej keutamaan kernel.
  • Kern.Tiada = Jangan log mana -mana mesej kemudahan kernel yang berkaitan tanpa mengira keutamaan.

Sebagai contoh, dengan mengandaikan bahawa anda ingin menghantar hanya mesej kemudahan tertentu ke pelayan log jauh, seperti semua mesej mel yang berkaitan tanpa mengira tahap keutamaan, tambahkan garis di bawah ke fail konfigurasi rsyslog:

mel.* @192.168.10.254: 514 

5. Akhirnya, untuk memohon konfigurasi baru, perkhidmatan rsyslog perlu dimulakan semula agar daemon mengambil perubahan, dengan menjalankan perintah di bawah:

# Systemctl mulakan semula rsyslog.perkhidmatan 

6. Jika atas sebab-sebab tertentu rsyslog daemon tidak didayakan semasa masa boot, mengeluarkan arahan di bawah untuk membolehkan sistem perkhidmatan di seluruh:

# Systemctl Dayakan RSYSLOG.perkhidmatan 

Langkah 3: Hantar log Apache dan Nginx ke pelayan log jauh

7. Server HTTP Apache boleh dikonfigurasikan untuk menghantar mesej log ke pelayan syslog jauh dengan menambahkan baris berikut ke fail konfigurasi utamanya seperti yang digambarkan dalam contoh di bawah.

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

Pada fail conf utama Apache tambahkan garis di bawah.

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

Garis ini akan menguatkuasakan daemon HTTP untuk menulis mesej log secara dalaman ke fail log sistem fail, tetapi juga memproses mesej lebih jauh melalui paip ke utiliti logger, yang akan menghantarnya ke pelayan syslog yang jauh, dengan menandakannya sebagai datang dari local1 kemudahan.

8. Sekiranya anda mahu juga mengarahkan Apache Mesej log ralat ke pelayan syslog jauh, tambahkan peraturan baru seperti yang dibentangkan dalam contoh di atas, tetapi pastikan untuk menggantikan nama fail log httpd dan tahap keparahan fail log untuk memadankan keutamaan ralat, seperti yang ditunjukkan dalam yang berikut Contoh:

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

9. Sebaik sahaja anda telah menambah baris di atas, anda perlu memulakan semula daemon Apache untuk memohon perubahan, dengan mengeluarkan arahan berikut:

# Systemctl mulakan semula httpd.perkhidmatan 

10. Seperti versi 1.7.1, Pelayan web nginx mempunyai keupayaan membina untuk terus log mesejnya ke pelayan syslog jauh, dengan menambahkan baris kod berikut ke fail konfigurasi nginx.

error_log syslog: pelayan = 192.168.1.10: 514, kemudahan = local7, tag = nginx, keterukan = ralat; Access_log Syslog: Server = 192.168.10.254: 514, kemudahan = local7, tag = nginx, keterukan = info utama; 

Untuk IPv6 pelayan, gunakan format sintaks berikut untuk melampirkan alamat IPv6.

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

11. Di pelayan RSYSLOG Jauh, anda perlu membuat perubahan berikut ke fail konfigurasi rsyslog, untuk menerima log yang dihantar oleh pelayan web Apache.

tempatan1.* @Apache_ip_address: 514 

Itu sahaja! Anda telah berjaya mengkonfigurasi Rsyslog Daemon untuk dijalankan dalam mod pelanggan dan, juga, anda telah mengarahkan Apache http pelayan atau Nginx untuk meneruskan mesej lognya ke pelayan syslog jauh.

Sekiranya sistem anda terhempas, anda sepatutnya dapat menyiasat masalah dengan memeriksa kandungan fail log yang disimpan di pelayan syslog jauh.