Me pregunto si systemd-journald es una nueva implementación del protocolo syslog, o más bien, usa implementaciones syslog, como rsyslog, syslog-ng
Busqué en Google un poco, pero no encontré nada convincente al respecto.
syslog
systemd-journald
sebelk
fuente
fuente

Respuestas:
En lo que respecta a los protocolos,
systemd-journald.../run/systemd/journal/stdout. systemd conecta las salidas estándar sin procesar y los errores de los servicios (que se han predeterminado o que tienen explícitamenteStandardOutput=journal/StandardError=journal) a este socket. Por lo tanto, recibe el protocolo de registros de formato libre de longitud variable terminados con saltos de línea./run/systemd/journal/dev-log, que está simbólicamente vinculado desde/dev/log. Esto recibe el protocolo que lasyslog()función de la biblioteca en la biblioteca GNU C, vinculada a las aplicaciones, habla./run/systemd/journal/syslog. Esto también recibe el protocolo quesyslog()habla la función de biblioteca en la biblioteca GNU C (aunque ensystemd-journaldrealidad usa otra biblioteca y otra función para hablarlo)./dev/kmsg. Esto recibe el protocolo que habla el kernel de Linux, que es un protocolo de longitud variable, en gran parte de formato libre, registros terminados con avances de línea./run/systemd/journal/socket. Esto es análogo al caso de la biblioteca GNU C en que las aplicaciones se vinculan a una biblioteca que habla un cierto protocolo a este socket; excepto que la función essd_journal_sendv(), es en una biblioteca de systemd C a la que se vinculan las aplicaciones, y el protocolo no está estandarizado, sino que es un protocolo solo de systemd que comprende una matriz de pares clave = valor, y opcionalmente un descriptor de archivo legible, en cada datagrama .El protocolo hablado por la
syslog()función en la biblioteca GNU C no es RFC 5424 ni RFC 3164, y es efectivamente su propio estándar de facto. No es RFC 5424 porque no tiene la cantidad correcta de espacios en blanco y los guiones que designan campos opcionales con valores NIL. No es RFC 3164 porque tiene unPROCIDcampo en lugar de unHOSTNAME.Hace un par de años, su sistema operativo systemd habría tenido:
systemd-journaldhaciendo todo lo anterior (y algunas cosas que son irrelevantes cuando se trata de protocolos ) y ser el servidor con el que la biblioteca GNU C y la biblioteca systemd C hablan utilizando sus respectivos protocolosxinetd/inetd-style cuando algo intenta enviar mensajes/run/systemd/journal/syslogy recibir el socket como un descriptor de archivo abierto, o como un servicio directo configurado para abrir y escuchar/run/systemd/journal/syslogcon su (equivalente del rsyslog)imuxsockmódulo; y hablando el protocolo de la biblioteca GNU CHoy en día, su sistema operativo systemd tiene:
systemd-journaldde nuevo haciendo todo lo anterior y siendo el servidor con el que hablan la biblioteca GNU C y la biblioteca systemd CimjournalmóduloOtras lecturas
fuente