Sejauh menyangkut protokol, systemd-journald
...
- ... adalah pendengar pada soket aliran bernama
/run/systemd/journal/stdout
. systemd menghubungkan output standar mentah dan kesalahan layanan (yang secara default atau secara eksplisit memiliki StandardOutput=journal
/ StandardError=journal
) ke soket ini. Dengan demikian ia menerima protokol catatan format bebas panjang variabel yang diakhiri dengan umpan baris.
- ... adalah pendengar pada soket datagram bernama
/run/systemd/journal/dev-log
, yang secara simbolis dihubungkan dari /dev/log
. Ini menerima protokol yang syslog()
fungsi perpustakaan di GNU C library, yang terhubung ke aplikasi, berbicara.
- ... mencoba menjadi klien dari layanan lain yang mendengarkan pada soket datagram yang bernama
/run/systemd/journal/syslog
. Ini juga menerima protokol yang syslog()
fungsi pustaka dalam pustaka GNU C berbicara (meskipun systemd-journald
sebenarnya menggunakan pustaka lain dan fungsi lain untuk mengucapkannya).
- ... adalah pembaca dari perangkat karakter yang bernama
/dev/kmsg
. Ini menerima protokol yang dibicarakan oleh kernel Linux, yang merupakan protokol dengan panjang variabel, sebagian besar format bebas, catatan diakhiri dengan linefeeds.
- ... adalah pendengar pada soket datagram bernama
/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 adalah sd_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 memiliki PROCID
bidang alih-alih a HOSTNAME
.
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-masing
- program syslog atau rsyslog atau syslog-ng opsional dijalankan, baik
xinetd
/ 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 C
- opsional syslog atau rsyslog atau syslog-ng atau udp-syslog-read service mendengarkan lalu lintas RFC 5426
Saat 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 library
- program rsyslog opsional dipanggil sebagai layanan langsung daripada melalui soket, yang secara langsung membaca hal-hal dari file jurnal systemd menggunakan
imjournal
modulnya
- opsional syslog atau rsyslog atau syslog-ng atau udp-syslog-read service mendengarkan lalu lintas RFC 5426
Bacaan lebih lanjut