Daftar semua pesan syslog?

1

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.

M. Brbr
sumber
Mengapa? Ini tampaknya merupakan masalah X-> Y , di mana Anda belum benar-benar memberi tahu kami apa yang Anda coba lakukan. Dengan demikian, Anda tidak akan pernah mendapatkan jawaban yang sesuai.
djsmiley2k
Saya ingin memfilter pesan syslog saya untuk mendapatkan hanya yang saya tertarik. Saya ingin misalnya untuk mendapatkan pesan syslog yang mengatakan bahwa otentikasi pengguna telah gagal atau berhasil.
M. Brbr
1
Grep adalah temanmu dalam kasus ini. Anda dapat memfilter hanya untuk pesan level Auth, namun level syslog bergantung pada aplikasi yang masuk ke level yang tepat, atau Anda memiliki filter untuk memastikan semuanya ada di level yang tepat. Saya pribadi akan memanggil syslog dan kemudian grep untuk apa yang saya butuhkan:grep /var/log/messages 'logged'
djsmiley2k
Ingatlah bahwa beberapa acara yang Anda minta agak kabur. Kegagalan otentikasi dicatat oleh PAM - kecuali ketika mereka tidak menggunakan PAM (kata sandi masuk, tetapi SSH publickey masuk tidak). Tindakan administrator sangat banyak dan beragam sehingga praktis tidak mungkin untuk memiliki satu "peristiwa" untuk semuanya.
grawity

Jawaban:

2

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.

grawity
sumber
Namun, bisakah saya mendapatkan daftar seperti itu untuk acara "dasar" seperti otentikasi atau login ke sesi baru?
M. Brbr
@ M. Brbr: Anda mungkin ingin melihat ke dalam Logwatch, yang merupakan penganalisa syslog yang populer dan dilengkapi dengan pola yang telah ditentukan sebelumnya untuk acara tersebut.
grawity
Windows event viewer memungkinkan aplikasi untuk menambah kamus dan template sehingga aplikasi BISA menulis log mereka ke dalam daftar yang sama dan mereka dapat disaring dan ditanya seperti acara standar. Ada pesan kesalahan yang akan Anda lihat dari waktu ke waktu di Peraga Peristiwa ketika aplikasi melaporkan kesalahan tetapi OS tidak memiliki konteks atau referensi tentang kesalahan, pada dasarnya, pemasangan aplikasi tidak memberikan informasi kepada OS informasi tersebut. diperlukan untuk menafsirkan kesalahan aplikasi, tetapi aplikasi masih mencoba melaporkan kesalahan ke OS.
music2myear