Sistem Linux kami menjalankan utilitas logwatch (8) secara default. Pada sistem RedHat / CentOS / SL, Logwatch dipanggil oleh /etc/cron.daily/
cronjob, yang kemudian mengirimkan email setiap hari dengan hasilnya. Email-email ini memiliki subjek seperti:
Subject: Logwatch for $HOSTNAME
Masalahnya adalah bahwa secara default email harian ini terlalu berisik dan mengandung banyak informasi yang berlebihan (kesalahan HTTP, penggunaan disk harian, dll) yang sudah dipantau oleh layanan lain (Nagios, Cacti, syslog pusat, dll). Untuk 100 sistem, beban email tidak tertahankan. Orang-orang mengabaikan email, yang berarti bahwa kami mungkin kehilangan masalah yang diambil oleh logwatch.
Bagaimana saya bisa mengurangi jumlah kebisingan yang dihasilkan oleh logwatch, tetapi masih menggunakan logwatch untuk memberi tahu kami tentang masalah yang signifikan?
Saya akan mengirimkan jawaban saya sendiri di bawah ini, tetapi saya ingin melihat apa yang telah dilakukan orang lain.
Catatan : Saya punya pertanyaan serupa tentang FreeBSD, di FreeBSD: periodic (8) terlalu berisik. Bagaimana saya bisa mengendalikan tingkat kebisingan?
sumber
Ya - logwatch seringkali terlalu berisik. Anda telah menyebutkan bahwa menonaktifkan cek sepenuhnya.
Jika Anda tidak ingin melakukan itu, Anda harus mencegah peristiwa tertentu muncul. Sebagai contoh - tidak menarik jika nagios terhubung melalui ssh ke sistem DMZ. Tetapi menarik jika ada login lain melalui ssh.
Kami menggunakan rsyslog alih-alih ksyslogd (instal rsyslog terlebih dahulu, kemudian hapus ksyslogd). Dengan rsyslog Anda dapat memperbaiki apa yang masuk ke log dan apa yang tidak (misalnya membangun ekspresi yang menjatuhkan pesan dari sshd yang berisi "nagios terhubung"). Dengan begitu logwatch hanya akan melaporkan informasi bermanfaat.
Kasus lain mungkin xinetd - Saya tidak ingin mendapat informasi tentang koneksi yang berhasil - ini dapat dikonfigurasi dalam xinetd itselv - tanpa menonaktifkan logwatch-check untuk xinetd.
sumber
Yang menarik, saya mengikuti opsi 2 dari jawaban Stefan Lasiewski, tetapi untuk tujuan saya, saya hanya ingin memasukkan garis-garis tertentu daripada mengecualikan semua kebisingan yang tidak saya inginkan.
Saya mengkonfigurasi vsftpd jadi saya membuat
/etc/logwatch/conf/services/vsftpd.conf
dan bukannya menggunakan sesuatu seperti*Remove = testuser
yang menghapus baris yang menyertakan tekstestuser
saya menggunakan baris*OnlyContains = "testuser"
yang hanya mengembalikan baris termasuk teks itu.2 skrip ini bekerja pada dasarnya dengan menggunakan
grep
dangrep -v
.Perbedaannya adalah bahwa Anda dapat menggunakan
*Remove
sebanyak yang Anda inginkan tetapi dengan*OnlyContains
Anda harus menggunakannya sekali jika Anda menginginkan sesuatu atau sesuatu yang lain atau sesuatu yang lain. Jadi untuk beberapa nilai yang Anda lakukan*OnlyContains = "testuser|testuser2|testuser3"
sumber
Sudahkah Anda mempertimbangkan menyalurkan pesan status email ke listserver, mungkin yang dapat memberikan intisari berdasarkan atribut ukuran dan / atau durasi / umur yang dapat diprogram? Pendekatan ini tidak mengurangi jumlah logging yang dikirim melalui email, tetapi dapat mengontrol jumlah email individu dengan batching untuk mengurangi frekuensi email.
sumber
Saya baru-baru ini perlu untuk menenangkan output dari layanan sshd. Beberapa bagian cukup panjang dan tidak dapat dikontrol dengan mengatur level detail.
Ini bukan solusi yang ideal, tetapi akhirnya saya menimpa skrip sshd dengan menyalinnya dari sini:
/usr/share/logwatch/scripts/services/sshd
ke sini:/etc/logwatch/scripts/services/sshd
Tentu saja, Anda sekarang harus mengikuti setiap pembaruan pada file skrip itu, tetapi itu memberi Anda kontrol yang sangat baik atas apa yang dihasilkan. Atau, saya kira Anda bisa menyalurkan output
logwatch
melalui alat sukaawk
ataused
menghapus apa yang tidak Anda inginkan, tapi itu terasa lebih sulit bagi saya.sumber
Saya memiliki pertanyaan yang sama pada UNIX & Linux Stackexchange dan di sini adalah jawaban saya yang memperbaikinya untuk saya:
Anda dapat memberi tahu logwatch untuk melihat 7 hari alih-alih 1 hari dengan mengubah parameter Range di
logwatch.conf
:Anda dapat meminta
logwatch
untuk menjalankan mingguan alih-alih setiap hari dengan memindahkannya dari direktori cron mingguan kecron
direktori harian :Terima kasih kepada @JeffSchaller
sumber