Saya ingin dapat memfilter untuk entri tertentu di Syslog di komputer Linux saya. Misalnya, saya ingin memfilter kegagalan atau keberhasilan otentikasi pengguna, atau untuk akses ke informasi sensitif, dll.
Saya percaya saya harus mulai dengan mendapatkan daftar semua pesan Syslog yang mungkin, seperti ini , tetapi untuk pesan Syslog.
grep /var/log/messages 'logged'
Jawaban:
Daftar seperti itu tidak mungkin, karena tidak seperti peristiwa Windows (yang memiliki daftar ID statis, templat khusus untuk setiap ID, dan hanya mengisi parameter) pesan syslog hanyalah teks bentuk bebas.
Untuk menghitung kemungkinan pesan bahkan untuk satu program akan memerlukan pencarian kode sumbernya untuk
syslog()
panggilan, yang dapat dilakukan secara tidak langsung melalui fungsi kustom, melalui berbagai pustaka (misalnya log4net) atau tidak menggunakan syslog sama sekali (misalnya berbagai program menggunakan fungsi systemd-jurnal) . Sehingga memerlukan pengetahuan khusus tentang kode sumber masing-masing program, dan tidak dapat dengan mudah diotomatisasi pada skala distribusi Linux secara keseluruhan - yang memang harus demikian, karena versi baru mungkin memiliki pesan yang berbeda.(Jurnal systemd memang memiliki ID pesan opsional dan file 'katalog' yang berisi deskripsi dan terjemahan. Itu masih memilih dan penggunaannya jarang.)
Bahkan daftar pesan acara Windows hanya mencakup komponen OS standar dan mungkin hal-hal seperti MS Office. Mereka tidak mungkin dapat mencakup semua pesan yang mungkin dicatat oleh perangkat lunak pihak ketiga, yang mungkin menginstal katalog dan ID acara sendiri, atau bahkan mengirimkan pesan bentuk bebas.
sumber
Logwatch
, yang merupakan penganalisa syslog yang populer dan dilengkapi dengan pola yang telah ditentukan sebelumnya untuk acara tersebut.