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