Por padrão rsyslog
está usando o módulo "imuxsock", o módulo fornece:
a capacidade de aceitar mensagens syslog através de sockets Unix locais. Mais importante ainda, este é o mecanismo pelo qual a chamada syslog (3) envia mensagens syslog para o rsyslogd [1 ] .
É possível que rsyslog
importe mensagens de log estruturadas do systemd-journal usando um módulo chamado "imjournal" [2] .
Pode ser carregado como:
module(load="imjournal")
em:
/etc/rsyslog.conf
Por outro lado, "systemd-journald" captura todos os dados em si:
man systemd-journald
systemd-journald é um serviço do sistema que coleta e armazena dados de registro. Cria e mantém periódicos estruturados e indexados baseados em informações de registro que são recebidas de uma variedade de fontes:
· Kernel log messages, via kmsg · Simple system log messages, via the libc syslog(3) call · Structured system log messages via the native Journal API, see sd_journal_print(4) · Standard output and standard error of system services · Audit records, via the audit subsystem
Você pode desabilitar rsyslogd
enquanto ainda tiver acesso aos registros do sistema usando journalctl
.
$ sudo systemctl mask rsyslogd
$ sudo systemctl stop syslog.socket
$ sudo systemctl stop rsyslog.service
$ systemctl is-active rsyslog.service
inactive
$ logger -p mail.info Helllooo
$ journalctl
Por exemplo, centos está usando o módulo "imuxsock" para capturar todos os dados "systemd-journald" via rsyslog
, enquanto o opensuse não tem "syslog".
Para descobrir por que sua mensagem não acabou em /var/log/syslog
, você deve verificar este arquivo:
less /etc/rsyslog.d/50-default.conf
procure *.info
, veja onde eles serão armazenados, pode ser um outro arquivo como messages
.
Para mim, aparece em journalctl
e syslog
.