A meu ver, systemd-journald
cria um par de sockets
, onde publica seus eventos de log.
# systemctl cat systemd-journald.socket | egrep -v '^ *#'
[Unit]
Description=Journal Socket
Documentation=man:systemd-journald.service(8) man:journald.conf(5)
DefaultDependencies=no
Before=sockets.target
IgnoreOnIsolate=yes
[Socket]
ListenStream=/run/systemd/journal/stdout
ListenDatagram=/run/systemd/journal/socket
SocketMode=0666
PassCredentials=yes
PassSecurity=yes
ReceiveBuffer=8M
Service=systemd-journald.service
Então, como posso ler esses eventos? Eu tentei:
# netcat -U /run/systemd/journal/stdout
# echo $?
0
# netcat -uU /run/systemd/journal/socket
netcat
desconecta imediatamente da stdout
( exit status
está limpa). netcat
se conecta ao socket
, mas não registra nenhum evento - posso confirmar isso com o comando journalctl -f -n0
, que mostra as coisas acontecendo, enquanto socket
output está vazio.
Tags netcat systemd-journald socket