Konfigurasikan NXLog untuk Meneruskan Log Sistem ke Server Rsyslog di Ubuntu 18.04

Dalam panduan ini, kita akan mempelajari cara mengkonfigurasi NXLog untuk meneruskan log sistem ke server Rsyslog di Ubuntu 18.04. Ada berbagai solusi pengumpulan log NXLog. Dalam panduan ini, kita akan mengonfigurasi NXLog versi opensource.

Konfigurasikan NXLog untuk Meneruskan Log Sistem ke Server Rsyslog di Ubuntu 18.04

NXLog tidak tersedia di repositori default Ubuntu 18.04. Oleh karena itu, kita akan mengdownload paket DEB dan menginstalnya dengan manajer paket dpkg. Untuk mengdownload biner instal NXLog, navigasikan ke halaman downloadan edisi komunitas NXLog dan ambil satu untuk Ubuntu 18.04.

wget https://nxlog.co/system/files/products/files/348/nxlog-ce_2.10.2150_ubuntu_bionic_amd64.deb

Anda juga dapat memeriksa artikel kami sebelumnya tentang konfigurasi Rsyslog dan Syslog dengan mengikuti tautan di bawah ini;

  • Konfigurasikan Rsyslog di Solaris 11.4 untuk Mengirim log ke Server Log Jarak Jauh
  • Konfigurasi Syslog di Solaris 11.4 untuk Logging Jarak Jauh
  • Cara Mengonfigurasi Logging Jarak Jauh dengan Rsyslog di Ubuntu 18.04

Instal NXLog di Ubuntu 18.04

Setelah Anda mengdownload biner DEB, instal seperti yang ditunjukkan di bawah ini;

sudo apt install./nxlog-ce_2.10.2150_ubuntu_bionic_amd64.deb

Konfigurasikan NXLog untuk Meneruskan Log di Ubuntu 18.04

Sekarang NXLog CE telah diinstal, Anda perlu mengonfigurasinya untuk meneruskan log ke server Rsyslog jarak jauh. File konfigurasi default untuk NXLog CE adalah /etc/nxlog/nxlog.conf.

NXLog dapat dikonfigurasi untuk menerima dan membaca log dari berbagai jenis sumber termasuk;

  • data log yang diterima melalui jaringan
  • peristiwa yang disimpan dalam database
  • pesan dibaca dari file
  • data diambil menggunakan executable

Panduan ini berfokus pada konfigurasi NXLog CE untuk menerima, membaca, dan meneruskan log dari file log sistem ke server logging jarak jauh. Oleh karena itu, buat cadangan dari konfigurasi asli sehingga Anda dapat melakukan penyesuaian apa pun yang sesuai dengan lingkungan Anda.

mv /etc/nxlog/nxlog.conf /etc/nxlog/nxlog.conf.original

Buat file konfigurasi baru.

touch /etc/nxlog/nxlog.conf

File konfigurasi NXLog terdiri dari global directives, module instances, dan routes. Untuk memulainya, atur ROOT ke direktori utama NXLog. Ini adalah seorang jenderal

# Set the NXLog main directory define ROOT /etc/nxlog

Tentukan arahan Global

Ada cukup banyak arahan global yang bisa diatur. Namun, secara sederhana, kita akan mendefinisikan direktori modul NXLog, direktori untuk menulis data yang di-cache, level logging, file PID NXLog, direktori kerja NXLog, file log NXLog dll. Ini dapat dilakukan dengan menggunakan arahan berikut masing-masing; ModuleDir, CacheDir, LogLevel, PidFile, SpoolDir.

# Global Directives Moduledir /usr/lib/nxlog/modules CacheDir %ROOT%/data SpoolDir %ROOT%/data Pidfile /tmp/nxlog.pid LogFile /var/log/nxlog/nxlog.log

Beberapa arahan global penting lainnya termasuk Userdan Group. NXLog berjalan sebagai user nxlogsecara default dengan batasan karena user ini tidak dapat membaca /var/logdirektori tempat sebagian besar log sistem ditulis. Untuk menghindari ini, NXlog dapat diatur untuk dijalankan sebagai root dengan menghilangkan Useropsi. Namun, lebih aman jika Anda dapat menambahkan user NXlog ke grup dengan izin untuk membaca file log.

Tentukan Arahan Modul Input

Pada dasarnya, kita akan mendefinisikan arahan modul input dasar yang membaca berbagai file log untuk dikirim ke server log jarak jauh.

# Define Input Modules <Input in1> Module im_file File "/var/log/auth.log" SavePos TRUE ReadFromLast TRUE </Input> <Input in2> Module im_file File "/var/log/syslog" SavePos TRUE ReadFromLast TRUE </Input>

SavePosMemastikan direktif yang log negara file cache ketika NXLog keluar. File log akan dibaca dari posisi itu saat NXLog dimulai. Namun ini dapat dimatikan dengan menggunakan NoCachedirektif. ReadFromLastMemastikan direktif yang NXLog membaca log diterima setelah NXLog dimulai.

Tentukan Modul Prosesor

Modul prosesor digunakan log proses antara modul Input dan Output. Ini dapat dicapai dengan menggunakan pm_buffermodul yang mendukung keduanya diskdan memorybuffering log. Dalam panduan ini, kita akan mengatur buffering disk. Anda juga perlu mengatur ukuran maksimum log yang dapat di-buffer.

#Define Processor Modules <Processor buffer> Module pm_buffer MaxSize 512000 # Buffer logs upto 512MB Type disk # Disk buffering </Processor>

Tentukan Modul Keluaran

Ada berbagai jenis modul output. Kami akan mengatur UDP sebagai modul output kami. Anda dapat memeriksa tentang modul lain di sini. Anda perlu mengatur HostIP jarak jauh dan Port.

# Define Output Modules <Output udp> Module om_udp Host 192.168.43.208 Port 514 </Output>

Tentukan Arahan Rute

Tentukan aliran data menggunakan Pathdirektif. Lebih dari satu Log masukan masukan ke dalam rute dipisahkan dengan koma. Daftar modul Input diikuti oleh panah ( =>). Modul prosesor atau modul Output mengikuti setelahnya. Beberapa Prosesor dipisahkan oleh panah. Sintaksnya adalah;

Path INPUT1[, INPUT2…] => [PROCESSOR1 [=> PROCESSOR2…] =>]OUTPUT1[, OUTPUT2…]

Oleh karena itu, kita dapat mendefinisikan ini di file konfigurasi kita sebagai;

# Route definition <Route 1> Path in1,in2 => buffer => udp </Route>

Itu semua tentang konfigurasi kami dalam bentuknya yang paling sederhana. Secara umum, seharusnya terlihat seperti;

# Set the NXLog main directory define ROOT /etc/nxlog # Global Directives Moduledir /usr/lib/nxlog/modules CacheDir %ROOT%/cache_dir SpoolDir %ROOT%/spool_dir Pidfile /tmp/nxlog.pid LogFile /var/log/nxlog/nxlog.log # Define Input Modules <Input in1> Module im_file File "/var/log/auth.log" SavePos TRUE ReadFromLast TRUE </Input> <Input in2> Module im_file File "/var/log/syslog" SavePos TRUE ReadFromLast TRUE </Input> #Define Processor Modules <Processor buffer> Module pm_buffer MaxSize 512000 # Buffer logs upto 512MB Type disk # Disk buffering </Processor> # Define Output Modules <Output udp> Module om_udp Host 192.168.43.188 # IP of Rsyslog Server Port 514 </Output> # Route Definition <Route 1> Path in1,in2 => buffer => udp </Route>

Buat Direktori Cache dan Spool.

mkdir -p /etc/nxlog/{cache_dir,spool_dir}

Mulai ulang NXLog dan atur agar berjalan pada boot sistem.

systemctl restart nxlog systemctl enable nxlog

Periksa statusnya.

systemctl status nxlog
* nxlog.service - LSB: logging daemon Loaded: loaded (/etc/init.d/nxlog; generated) Active: active (running) since Sat 2019-03-16 19:23:19 EAT; 53s ago Docs: man:systemd-sysv-generator(8)

Konfirmasikan bahwa Anda dapat menerima log di server jauh. Sebagai POC, ssh ke server Ubuntu 18.04 dengan nxlog berjalan dari server yang berbeda. Tail log pada menghapus server Rsyslog dan begitulah.

tail -f /var/log/remotelogs/192.168.43.203.log 2019-03-16T19:32:40-04:00 u18svr sshd[21327]: Connection closed by 127.0.0.1 port 50630 [preauth] 2019-03-16T19:34:12-04:00 u18svr sshd[21335]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.43.149 user=amos 2019-03-16T19:34:14-04:00 u18svr sshd[21335]: Failed password for amos from 192.168.43.149 port 48224 ssh2 2019-03-16T19:34:18-04:00 u18svr sshd[21335]: Accepted password for amos from 192.168.43.149 port 48224 ssh2 2019-03-16T19:34:18-04:00 u18svr sshd[21335
]: pam_unix(sshd:session): session opened for user amos by (uid=0) 2019-03-16T19:34:18-04:00 u18svr systemd-logind[581]: New session 26 of user amos....

Itu saja tentang cara mengkonfigurasi NXLog untuk meneruskan log sistem ke server Rsyslog di Ubuntu 18.04. Jangan ragu untuk membaca lebih lanjut tentang NXLog di manual referensi mereka.

Tutorial Terkait

Instal dan Konfigurasi NXLog CE di Ubuntu 20.04

Konfigurasikan Rsyslog di Solaris 11.4 untuk Mengirim log ke Server Log Jarak Jauh

Konfigurasi Syslog di Solaris 11.4 untuk Logging Jarak Jauh

Cara Mengonfigurasi Logging Jarak Jauh dengan Rsyslog di Ubuntu 18.04