Quando emito journalctl, recebo um registro massivo de todos os serviços do sistema, mas onde todas essas informações são armazenadas?
Quando emito journalctl, recebo um registro massivo de todos os serviços do sistema, mas onde todas essas informações são armazenadas?
Respostas:
FILES
/etc/systemd/journald.conf
Configure systemd-journald behavior. See journald.conf(5).
/run/log/journal/machine-id/*.journal,
/run/log/journal/machine-id/*.journal~,
/var/log/journal/machine-id/*.journal,
/var/log/journal/machine-id/*.journal~
systemd-journald writes entries to files in
/run/log/journal/machine-id/ or /var/log/journal/machine-id/ with
the ".journal" suffix. If the daemon is stopped uncleanly, or if
the files are found to be corrupted, they are renamed using the
".journal~" suffix, and systemd-journald starts writing to a new
file. /run is used when /var/log/journal is not available, or when
Storage=volatile is set in the journald.conf(5) configuration file.
E como man journalctldiz:
journalctl may be used to query the contents of the systemd(1) journal
as written by systemd-journald.service(8).
Esses logs são gerenciados pelo systemd-journaldserviço, portanto, um termo mais apropriado seria " journaldlogs".
Observe, no entanto, que o Ubuntu não está usando um arquivo de log journald persistente por padrão. Somente o volátil /run/log/journal/<machine-id>/*.journal[~]é mantido até a próxima inicialização. Tudo está perdido a cada reinicialização.
Você pode ver uma lista de inicialização mantida no log com:
journalctl --list-boot
Os logs ainda são mantidos em um arquivo de texto, a menos /var/logque você tenha ativado o uso do log journald persistente criando o /var/log/journaldiretório.
Normalmente, o diretório de armazenamento é /var/log/journalor /run/log/journal, mas não precisa necessariamente existir em seu sistema.
Se você quiser apenas verificar a quantidade de espaço que o diário atualmente ocupa no seu disco, basta digitar:
$ journalctl --disk-usage
O diretório de armazenamento depende da configuração do diário.
Os arquivos de configuração são:
/etc/systemd/journald.conf
/etc/systemd/journald.conf.d/*.conf
/run/systemd/journald.conf.d/*.conf
/usr/lib/systemd/journald.conf.d/*.conf
A Storage=opção " " controla se os dados do diário devem ser armazenados ou não e onde. Os valores possíveis são " volatile", " persistent", " auto" e " none". O padrão é " auto".
Se " volatile", os dados do log do diário serão armazenados apenas na memória, ou seja, abaixo da hierarquia / run / log / journal (criada se necessário).
Se " persistent", os dados serão armazenados preferencialmente no disco, ou seja, abaixo da hierarquia / var / log / journal (criada se necessário), com um fallback para / run / log / journal (criado se necessário), durante o início inicialize e se o disco não for gravável.
" auto" é semelhante a " persistent" mas o diretório não/var/log/journal é criado, se necessário, de modo que sua existência controla onde os dados do log vão.
" none" desativa todo o armazenamento, todos os dados de log recebidos serão descartados.
Além da resposta de Muru sobre onde os dados são armazenados, há outras respostas relevantes.
journalctlpara encontrar logs de inicialização anteriores$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal
journalctlo tamanho do arquivo baixo$ journalctl --vacuum-size=200M
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/system@00056515dbdd9a4e-a6fe2ec77e516045.journal~ (56.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-65534@00056515dbfe731d-b7bab56cb4efcbf6.journal~ (8.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-1000@1bbb77599cf14c65a18af51646751696-000000000000064f-00056444d58433e1.journal (112.0M).
Vacuuming done, freed 176.0M of archived journals on disk.