Swatchdog - Pengamat File Log Sederhana secara Real-Time di Linux


Swatchdog (“Simple WATCH DOG ”) adalah skrip Perl sederhana untuk memantau file log aktif pada sistem mirip Unix seperti Linux. Ini mengawasi log Anda berdasarkan ekspresi reguler yang dapat Anda tentukan dalam file konfigurasi. Anda dapat menjalankannya dari baris perintah atau di latar belakang, terlepas dari terminal mana pun menggunakan opsi mode daemon.

Perhatikan bahwa program ini awalnya bernama swatch (“Simple Watcher ”) namun permintaan dari perusahaan jam tangan lama Swiss untuk perubahan nama membuat pengembang mengubah namanya menjadi < kuat>anjing penjaga.

Baca Juga: 4 Alat Pemantauan dan Manajemen Log Sumber Terbuka yang Baik untuk Linux

Yang penting, swatchdog telah berkembang dari skrip untuk mengamati log yang dihasilkan oleh fasilitas syslog Unix, dan dapat memantau hampir semua jenis log.

Cara Install Swatch di Linux

Paket swatchdog tersedia untuk diinstal dari repositori resmi distribusi Linux arus utama sebagai paket “swatch” melalui manajer paket seperti yang ditunjukkan.


sudo apt install swatch	[On Ubuntu/Debian]
sudo yum install epel-release && sudo yum install swatch	[On RHEL/CentOS]
sudo dnf install swatch	[On Fedora 22+]

Untuk menginstal swatchdog versi terbaru, Anda perlu mengkompilasinya dari sumber menggunakan perintah berikut di distribusi Linux mana pun.


git clone https://github.com/ToddAtkins/swatchdog.git
cd swatchdog/
perl Makefile.PL
make
sudo make install
sudo make realclean

Setelah Anda menginstal swatch, Anda perlu membuat file konfigurasinya (lokasi defaultnya adalah /home/$USER/.swatchdogrc atau .swatchrc ), untuk menentukan tipe pola ekspresi apa yang harus dicari dan tipe tindakan apa yang harus diambil ketika suatu pola cocok.


touch /home/tecmint/.swatchdogrc
OR
touch /home/tecmint/.swatchrc

Tambahkan ekspresi reguler Anda di file ini dan setiap baris harus berisi kata kunci dan nilai (terkadang opsional), dipisahkan dengan tanda spasi atau tanda (=) yang sama. Anda perlu menentukan pola dan tindakan yang akan diambil ketika suatu pola cocok.

Kami akan menggunakan file konfigurasi sederhana, Anda dapat menemukan lebih banyak opsi di halaman manual swatchdog, misalnya.

watchfor  /sudo/
	echo red
	[email , subject="Sudo Command"

Di sini, ekspresi reguler kami adalah string literal – “sudo”, artinya setiap kali string sudo muncul di file log, akan dicetak ke terminal dalam teks merah dan mail tentukan tindakan yang akan diambil, yaitu mengulangi pola yang cocok di terminal dan mengirim email ke alamat yang ditentukan, secara reseptif.

Setelah Anda mengkonfigurasinya, swatchdog membaca file log /var/log/syslog secara default, jika file ini tidak ada, maka akan terbaca /var/log/messages.


swatch     [On RHEL/CentOS & Fedora]
swatchdog  [On Ubuntu/Debian]

Anda dapat menentukan file konfigurasi yang berbeda menggunakan flag -c seperti yang ditunjukkan pada contoh berikut.

Pertama buat direktori konfigurasi swatch dan file.

mkdir swatch
touch swatch/secure.conf

Selanjutnya, tambahkan konfigurasi berikut dalam file untuk memantau upaya login yang gagal, upaya login SSH yang gagal, login SSH yang berhasil dari file log /var/log/secure.

watchfor /FAILED/
echo red
[email , subject="Failed Login Attempt"

watchfor /ROOT LOGIN/
echo red
[email , subject="Successful Root Login"

watchfor /ssh.*: Failed password/
echo red
[email , subject="Failed SSH Login Attempt"

watchfor /ssh.*: session opened for user root/ 
echo red
[email , subject="Successful SSH Root Login"

Sekarang jalankan Swatch dengan menentukan file konfigurasi menggunakan -c dan file log menggunakan flag -t seperti yang ditunjukkan.

swatchdog -c ~/swatch/secure.conf -t /var/log/secure

Untuk menjalankannya di latar belakang, gunakan flag --daemon; dalam mode ini, ia terlepas dari terminal mana pun.

swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon  

Sekarang untuk menguji konfigurasi swatch, cobalah login ke server dari terminal yang berbeda, Anda melihat output berikut dicetak ke terminal tempat Swatchdog berjalan.

*** swatch version 3.2.3 (pid:16531) started at Thu Jul 12 12:45:10 BST 2018

Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)

Anda juga dapat menjalankan beberapa proses contoh untuk memantau berbagai file log.

swatchdog -c ~/site1_watch_config -t /var/log/nginx/site1/access_log --daemon  
swatchdog -c ~/messages_watch_config -t /var/log/messages --daemon
swatchdog -c ~/auth_watch_config -t /var/log/auth.log --daemon

Untuk informasi lebih lanjut, lihat halaman manual swatchdog.

man swatchdog

Repositori SourceForge Swatchdog: https://sourceforge.net/projects/swatch/

Berikut ini adalah beberapa panduan pemantauan log tambahan yang menurut Anda berguna:

  1. 4 Cara Menonton atau Memantau File Log secara Real Time
  2. Cara Membuat Server Log Terpusat dengan Rsyslog
  3. Pantau Log Server Secara Real-Time dengan Alat “Log.io”.
  4. lnav – Menonton dan Menganalisis Log Apache dari Terminal Linux
  5. ngxtop – Pantau File Log Nginx secara Real Time di Linux

Swatchdog adalah alat pemantauan file log aktif sederhana untuk sistem mirip Unix seperti Linux. Cobalah dan bagikan pemikiran Anda atau ajukan pertanyaan apa pun di bagian komentar.