Demi kelengkapan, saya akan menambahkan satu perbedaan yang saya temukan yang mungkin atau mungkin tidak berdampak pada Anda. syslog-ng menggunakan fopen sedangkan rsyslog menggunakan fappend. Ini penting jika Anda chattr +afile syslog Anda. Kebanyakan orang tidak melakukan ini, saya hanya menggunakan case-use khusus dan itulah bagaimana saya mengetahuinya. Saya hanya membuat banyak orang ngeri.
Aaron
Jawaban:
52
Pada dasarnya, semuanya sama, dalam cara mereka semua mengizinkan pencatatan data dari berbagai jenis sistem di repositori pusat.
Tetapi mereka adalah tiga proyek yang berbeda, masing-masing proyek berusaha untuk meningkatkan yang sebelumnya dengan lebih banyak keandalan dan fungsionalitas.
The Syslogproyek adalah proyek pertama. Ini dimulai pada 1980. Ini adalah proyek root untuk Syslogprotokol. Pada saat ini Syslog adalah protokol yang sangat sederhana. Awalnya hanya mendukung UDP untuk transportasi, sehingga tidak menjamin pengiriman pesan.
Berikutnya datang syslog-ngpada tahun 1998. Ia memperluas syslogprotokol dasar dengan fitur-fitur baru seperti:
penyaringan berbasis konten
Masuk langsung ke database
TCP untuk transportasi
Enkripsi TLS
Selanjutnya datang Rsyslogpada tahun 2004. Ia memperluas syslogprotokol dengan fitur-fitur baru seperti:
Dukungan Protokol RELP
Dukungan operasi yang disangga
Katakanlah hari ini mereka adalah tiga proyek bersamaan yang telah tumbuh secara terpisah berdasarkan versi, tetapi juga tumbuh secara paralel mengenai apa yang dilakukan tetangga.
Saya pribadi berpikir bahwa hari ini syslog-ngadalah referensi dalam banyak kasus, karena ini adalah proyek paling matang yang menawarkan fitur-fitur utama yang mungkin Anda butuhkan, di samping pengaturan dan konfigurasi yang mudah dan komprehensif.
Sebagai catatan, syslog OpenBSD dapat melakukan TCP dan TLS (dan UDP)
Neil McGuigan
32
ini adalah 3 jenis manajer log yang berbeda: ini memungkinkan sistem Anda untuk mengumpulkan filter, dan mengirimkan / menyimpan log.
Syslog(daemon juga bernama sysklogd) adalah LM default dalam distribusi Linux yang umum. Ringan tetapi tidak terlalu fleksibel, Anda dapat mengarahkan fluks log yang diurutkan berdasarkan fasilitas dan tingkat keparahan ke file dan melalui jaringan (TCP, UDP).
rsyslogadalah versi "lanjutan" di sysklogdmana file config tetap sama (Anda dapat menyalin syslog.conffile langsung ke rsyslog.confdan berfungsi); tetapi Anda memiliki banyak hal keren baru yang menyertainya:
Anda dapat mendengarkan koneksi TCP / UDP / ..., dengan batasan (port, Source IPs)
Anda dapat memuat banyak modul
Anda dapat membedakan pemfilteran log berdasarkan program, sumber, pesan, pid, dll. (Misalnya, setiap pesan ditandai dengan pesan "connexion closed" ke file closed.log)
Anda dapat membuang pesan setelah satu atau beberapa aturan. Kunjungi http://www.rsyslog.com yang memang sangat bagus
Syslog-ng adalah "Next-Gen". Saya pikir ini adalah cara terbaik untuk mengelola log: semuanya adalah objek (sumber, tujuan, filter, dan aturan penerusan) dan sintaksnya jelas. Saya ragu dalam hal fungsi itu rsyslogdan syslog-ngberbeda.
Saya berpendapat bahwa baik syslog-ng dan rsyslog adalah 'next gen', atau setidaknya pengganti yang lebih baru untuk syslog yang lebih lama. Keduanya sebanding dalam hal fitur, tetapi sintaks untuk keduanya sangat berbeda. syslog-ng memiliki sintaks uniknya sendiri, sedangkan sintaksis rsyslog lebih mirip dengan sintaks syslog yang lebih lama.
Stefan Lasiewski
9
Dan kemudian ada journalctl/journald
Mausy5043
9
Dari mana saya bisa mendapatkan kode sumber untuk syslog ()
Ini disediakan oleh glibc atau implementasi libc pada rasa Unix lainnya. Panggilan ini pada dasarnya mengirimkan pesan Anda ke soket domain syslog unix / dev / log. Soket ini biasanya dibuat oleh logger sistem (mis. Rsyslog, syslog-ng, nxlog, dll).
Itu semua adalah daemon syslog, di mana rsyslog dan syslog-ng lebih cepat dan lebih banyak penggantian kaya fitur untuk syslogd tradisional (kebanyakan tidak terawat). syslog-ng dimulai dari awal (dengan format konfigurasi yang berbeda) sementara rsyslog pada awalnya adalah fork dari syslogd, mendukung dan memperluas sintaksisnya. Dalam beberapa tahun terakhir, rsyslog juga mulai mendukung format konfigurasi yang lebih baru. Pada saat ini, sangat sulit untuk membandingkan keduanya tanpa masuk ke hal yang sangat spesifik dan memulai perang api.
chattr +a
file syslog Anda. Kebanyakan orang tidak melakukan ini, saya hanya menggunakan case-use khusus dan itulah bagaimana saya mengetahuinya. Saya hanya membuat banyak orang ngeri.Jawaban:
Pada dasarnya, semuanya sama, dalam cara mereka semua mengizinkan pencatatan data dari berbagai jenis sistem di repositori pusat.
Tetapi mereka adalah tiga proyek yang berbeda, masing-masing proyek berusaha untuk meningkatkan yang sebelumnya dengan lebih banyak keandalan dan fungsionalitas.
The
Syslog
proyek adalah proyek pertama. Ini dimulai pada 1980. Ini adalah proyek root untukSyslog
protokol. Pada saat ini Syslog adalah protokol yang sangat sederhana. Awalnya hanya mendukung UDP untuk transportasi, sehingga tidak menjamin pengiriman pesan.Berikutnya datang
syslog-ng
pada tahun 1998. Ia memperluassyslog
protokol dasar dengan fitur-fitur baru seperti:Selanjutnya datang
Rsyslog
pada tahun 2004. Ia memperluassyslog
protokol dengan fitur-fitur baru seperti:Katakanlah hari ini mereka adalah tiga proyek bersamaan yang telah tumbuh secara terpisah berdasarkan versi, tetapi juga tumbuh secara paralel mengenai apa yang dilakukan tetangga.
Saya pribadi berpikir bahwa hari ini
syslog-ng
adalah referensi dalam banyak kasus, karena ini adalah proyek paling matang yang menawarkan fitur-fitur utama yang mungkin Anda butuhkan, di samping pengaturan dan konfigurasi yang mudah dan komprehensif.sumber
ini adalah 3 jenis manajer log yang berbeda: ini memungkinkan sistem Anda untuk mengumpulkan filter, dan mengirimkan / menyimpan log.
Syslog
(daemon juga bernamasysklogd
) adalah LM default dalam distribusi Linux yang umum. Ringan tetapi tidak terlalu fleksibel, Anda dapat mengarahkan fluks log yang diurutkan berdasarkan fasilitas dan tingkat keparahan ke file dan melalui jaringan (TCP, UDP).rsyslog
adalah versi "lanjutan" disysklogd
mana file config tetap sama (Anda dapat menyalinsyslog.conf
file langsung kersyslog.conf
dan berfungsi); tetapi Anda memiliki banyak hal keren baru yang menyertainya:Syslog-ng adalah "Next-Gen". Saya pikir ini adalah cara terbaik untuk mengelola log: semuanya adalah objek (sumber, tujuan, filter, dan aturan penerusan) dan sintaksnya jelas. Saya ragu dalam hal fungsi itu
rsyslog
dansyslog-ng
berbeda.sumber
journalctl
/journald
Ini disediakan oleh glibc atau implementasi libc pada rasa Unix lainnya. Panggilan ini pada dasarnya mengirimkan pesan Anda ke soket domain syslog unix / dev / log. Soket ini biasanya dibuat oleh logger sistem (mis. Rsyslog, syslog-ng, nxlog, dll).
sumber
Itu semua adalah daemon syslog, di mana rsyslog dan syslog-ng lebih cepat dan lebih banyak penggantian kaya fitur untuk syslogd tradisional (kebanyakan tidak terawat). syslog-ng dimulai dari awal (dengan format konfigurasi yang berbeda) sementara rsyslog pada awalnya adalah fork dari syslogd, mendukung dan memperluas sintaksisnya. Dalam beberapa tahun terakhir, rsyslog juga mulai mendukung format konfigurasi yang lebih baru. Pada saat ini, sangat sulit untuk membandingkan keduanya tanpa masuk ke hal yang sangat spesifik dan memulai perang api.
Syslog secara umum cukup membingungkan karena dapat beberapa hal. Saya mencoba disambiguasi di sini: https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/
sumber