Um concentrador de logs
O journald atua como um concentrador de logs de todos os daemons do sistema, independente de usarem arquivos de unidade nativos ou scripts SysV.
Não pode ser desativado, pois é um componente fundamental. Quem prefere os tradicionais arquivos de log, não precisa ficar consternado. Tendo uma implementação syslog instalada (rsyslog é o mais usado), faz o journald automaticamente repassar as mensagens para ela. Se a sua distribuição habilitar o journal persistente, existirão logs salvos em dois lugares. Eu não acho uma boa. Prefiro que apenas um daemon armazene as mensagens no disco.
Na configuração padrão (
A partir da versão 216, ele não repassa mais automaticamente, pois o rsyslog possui um módulo (imjournal) que lê as mensagens diretamente do journal usando sua API. Se o seu daemon syslog não tiver esse recurso (aparentemente o syslog-ng não tem), é possível voltar ao comportamento antigo com
Cabe esclarecer que se for configurado
Relacionado:
Log de erros
+----------+ +----------+ +----------+ | | | | | | | DAEMON 1 | | DAEMON 2 | | DAEMON 3 | ... | | | | | | +----------+ +----------+ +----------+ \ | / \ | / stdout/stderr \ | / syslog() \ | / sd_journal_*() v v v +------------------+ | | | systemd-journald |---> /var/log/journal/<machine-id> | | +------------------+ | v +------------+ | rsyslog, | | syslog-ng, |------> /var/log/messages, etc | etc | +------------+
Não pode ser desativado, pois é um componente fundamental. Quem prefere os tradicionais arquivos de log, não precisa ficar consternado. Tendo uma implementação syslog instalada (rsyslog é o mais usado), faz o journald automaticamente repassar as mensagens para ela. Se a sua distribuição habilitar o journal persistente, existirão logs salvos em dois lugares. Eu não acho uma boa. Prefiro que apenas um daemon armazene as mensagens no disco.
Na configuração padrão (
Storage=auto
em /etc/systemd/journald.conf
), a existência da pasta /var/log/journal
é que determina o armazenamento ou não do journal — Storage=persistent
, por outro lado, automaticamente cria a pasta quando necessário, sempre armazenando-o, portanto. Quando a pasta não existe, atua como Storage=volatile
(a seguir). Então caso sua distribuição habilite o journal persistente (seja criando a pasta ou alterando a opção) e você instalou o rsyslog e quer evitar escrita em excesso no disco, descomente-a, coloque Storage=volatile
e reinicie o serviço (systemctl restart systemd-journald.service
). volatile
mantém um log circular em /run/log/journal
(runtime journal), que é muito útil mesmo com um daemon syslog presente (para a saída de systemctl status
, por exemplo), e não acarreta em escritas no disco (/run
é tmpfs). Storage=none
, por fim, desativa qualquer armazenamento das mensagens e faz o journald apenas repassá-las para o deamon syslog e nada mais. Como de costume: man journald.conf
.A partir da versão 216, ele não repassa mais automaticamente, pois o rsyslog possui um módulo (imjournal) que lê as mensagens diretamente do journal usando sua API. Se o seu daemon syslog não tiver esse recurso (aparentemente o syslog-ng não tem), é possível voltar ao comportamento antigo com
ForwardToSyslog=yes
.Cabe esclarecer que se for configurado
ForwardToSyslog=no
e o módulo imjournal do rsyslog (ou outro código qualquer que obtenha as mensagens usando a API) for usado, Storage=
não pode ser none
. A documentação foi atualizada na versão 220.Relacionado:
Log de erros
Comentários
Postar um comentário