Redirect log UFW ke file sendiri?

20

Apakah ada cara saya dapat dengan mudah mengarahkan ulang entri untuk UFW ke file log mereka sendiri di / var / log / ufw alih-alih mengisi / var / log / syslog karena menjadi sulit untuk menemukan solusi untuk masalah dengan semua barang UFW yang terbang di masa lalu saya?

markrich
sumber

Jawaban:

19

Di Ubuntu 15.10 dan Debian Jessie ada file /etc/rsyslog.d/20-ufw.conf. Itu berisi di bagian bawah # & ~. Hapus # di depannya untuk menghapus tanda komentar dan menyegarkan rsyslog dengan perintah /etc/init.d/rsyslog restartsehingga memperhitungkan perubahan konfigurasi.

chmike
sumber
3
berfungsi untuk 14,04 juga, dan lebih sederhana, hanya digunakan sudo service rsyslog restartsetelah mengubahnya, thx!
Aquarius Power
Inilah yang bekerja untuk saya juga (14,04). Sederhana itu bagus.
pwbred
1
Pada 18.04 baris terakhir adalah # & stoptetapi melakukan hal yang sama ketika tidak dikomentari, rsyslog memang perlu direstart.
Sebastian
13

Saya juga menjalankan Ubuntu 14.04. Di saya /etc/rsyslog.d/ada file 20-ufw.confyang memiliki baris berikut:

:msg,contains,"[UFW " /var/log/ufw.log

Apa yang saya lakukan adalah menghapus file itu, dan di atas 50-default.confsaya menambahkan yang berikut:

: msg, berisi, "[UFW" /var/log/ufw.log
& stop

Mulai ulang rsyslog dengan sudo service rsyslog restartdan log UFW Anda harus dimasukkan ke file mereka sendiri dan tidak ke file lain.

Acki
sumber
11
mengapa tidak mengedit 20-ufw.confdan menambahkan perintah berhenti di sana? Bahkan, sudah memiliki template yang dapat dihapus komentar, dan tampaknya berfungsi dengan baik dalam tes cepat saya.
HRJ
@HRJ Preferensi pribadi? File 20-ufw.conf hanya memiliki beberapa baris teks, yang sebagian besar adalah komentar. Saya merasa itu tidak perlu untuk file konfigurasi sendiri. Saran Anda menyelesaikan hal yang sama - itu :msg,contains,"[UFW " /var/log/ufw.logyang perlu diubah / dihentikan.
Ackis
6

ufw menggunakan rsyslog untuk masuk /var/log/syslogatau /var/log/messages:

Untuk mengubah file log, edit /etc/rsyslog.d/50-default.confdan ke atas tambahkan:

:msg, contains, "UFW" -/var/log/ufw.log
& ~

Ini akan mencatat semua data yang berisi "UFW" untuk /var/log/ufw.logmencegah pemrosesan lebih lanjut dari data tersebut.

pekerjaan
sumber
Meskipun ufw.log sekarang mengandung entri dengan perintah Anda, syslog masih menerima pesan.
markrich
Ya tapi syslog melaporkan masalah dengan perintah Anda.
markrich
kesalahan saat mem-parsing file /etc/rsyslog.d/50-default.conf, pada atau sebelum baris 1: karakter tidak valid '~' - apakah ada urutan escape yang tidak valid di suatu tempat? [coba rsyslog.com/e/2207 ] 21 Apr 15:58:41 markys-home-pc rsyslogd-2307: peringatan: ~ tindakan sudah ditinggalkan, pertimbangkan untuk menggunakan pernyataan 'berhenti' sebagai gantinya [coba rsyslog.com/e/2307 ]
markrich
Saya memang menyalin dan menempel. Kesalahan yang sama.
markrich
Log telah berhenti menerima perintah UFW secara massal, namun satu atau dua masih menyelinap melalui. Lebih baik sekarang namun kesalahan penyusutan masih ada.
markrich
5

Pada 16.04 cukup komentari baris terakhir dalam file ini sehingga terbaca

$ tail -1 /etc/rsyslog.d/20-ufw.conf 
& stop

dan mulai ulang rsyslog

$ sudo systemctl restart rsyslog

mulai sekarang, ufw log akan berada di /var/log/ufw.log dan tidak lagi di / var / log / syslog

Antonello Piemonte
sumber