Saya ingin tahu apakah systemd-journald adalah implementasi baru dari protokol syslog, atau lebih tepatnya, ia menggunakan implementasi syslog, seperti rsyslog, syslog-ng
Saya sudah sedikit mencari di Google, tetapi saya tidak menemukan hal yang meyakinkan tentang hal itu.
syslog
systemd-journald
sebelk
sumber
sumber
Jawaban:
Sejauh menyangkut protokol,
systemd-journald
.../run/systemd/journal/stdout
. systemd menghubungkan output standar mentah dan kesalahan layanan (yang secara default atau secara eksplisit memilikiStandardOutput=journal
/StandardError=journal
) ke soket ini. Dengan demikian ia menerima protokol catatan format bebas panjang variabel yang diakhiri dengan umpan baris./run/systemd/journal/dev-log
, yang secara simbolis dihubungkan dari/dev/log
. Ini menerima protokol yangsyslog()
fungsi perpustakaan di GNU C library, yang terhubung ke aplikasi, berbicara./run/systemd/journal/syslog
. Ini juga menerima protokol yangsyslog()
fungsi pustaka dalam pustaka GNU C berbicara (meskipunsystemd-journald
sebenarnya menggunakan pustaka lain dan fungsi lain untuk mengucapkannya)./dev/kmsg
. Ini menerima protokol yang dibicarakan oleh kernel Linux, yang merupakan protokol dengan panjang variabel, sebagian besar format bebas, catatan diakhiri dengan linefeeds./run/systemd/journal/socket
. Ini analog dengan kasus pustaka GNU C dalam aplikasi yang menautkan ke perpustakaan yang berbicara protokol tertentu ke soket ini; kecuali bahwa fungsinya adalahsd_journal_sendv()
, itu ada di pustaka systemd C yang ditautkan oleh aplikasi, dan protokolnya tidak distandarisasi tetapi merupakan protokol hanya sistem yang terdiri dari array pasangan kunci = nilai, dan secara opsional merupakan deskriptor file yang dapat dibaca, di setiap datagram .Protokol yang diucapkan oleh
syslog()
fungsi dalam pustaka GNU C bukanlah RFC 5424 atau RFC 3164, dan secara efektif merupakan standar de facto sendiri. Ini bukan RFC 5424 karena tidak memiliki jumlah spasi yang benar dan tanda hubung yang menentukan bidang opsional dengan nilai NIL. Ini bukan RFC 3164 karena memilikiPROCID
bidang alih-alih aHOSTNAME
.Beberapa tahun yang lalu, sistem operasi systemd Anda akan memiliki:
systemd-journald
melakukan semua hal di atas (dan beberapa hal yang tidak relevan ketika berhubungan dengan protokol ) dan menjadi server tempat GNU C library dan systemd C library berbicara menggunakan protokol masing-masingxinetd
/inetd
-style ketika ada sesuatu yang mencoba mengirim pesan ke/run/systemd/journal/syslog
dan menerima soket sebagai deskriptor file terbuka, atau sebagai layanan langsung yang dikonfigurasi untuk membuka dan mendengarkan/run/systemd/journal/syslog
dengan (setara dengan rsyslog)imuxsock
module; dan berbicara protokol pustaka GNU CSaat ini, sistem operasi systemd Anda memiliki:
systemd-journald
lagi melakukan semua hal di atas dan menjadi server yang diajak oleh GNU C library dan systemd C libraryimjournal
modulnyaBacaan lebih lanjut
sumber