Principais Parâmetros do Journalctl
Veja logs com mais facilidade no seu Linux
Table of contents
- Introdução
- Descrição
- Exemplos de utilização
- Ordem reversa
- Mais recentes n linhas
- Tempo real
- Padrão UTC
- Logs do kernel
- Logs de um boot específico
- Logs de uma unidade de serviço
- Log de um intervalo de tempo
- Logs baseado em UID, GID e PID
- Logs de apenas erros
- Checar uso de disco pelos logs
- Limpar logs
- Restringir tamanho do log
- Restringir número de arquivos de log
- Configuração para controle de espaço
Introdução
Não sei você, eu uso Linux diariamente no trabalho e mesmo assim não consigo memorizar todos os parâmetros dos comandos que preciso no terminal. Então, a tarefa de ir pesquisar na internet é relativamente comum. E não tem nada de errado com isso, nosso cérebro não consegue fixar todos os detalhes de tudo. Quando preciso pesquisar uma lista rápida com as principais utilizações de um determinado comando, sempre adiciono o seguinte termo na busca: “cheat sheet + o nome do comando”. Esse termo poderia ser traduzido como folha de dicas, e normalmente me traz um resumo com vários exemplos de aplicação daquele determinado comando. Recentemente, resolvi escrever as minhas próprias listas e mantê-las em um controle local usando o Obsidian (aplicação para organizar notas, textos e afins). Esse ato de pesquisa e escrita, reforça muito mais o aprendizado e facilita a minha busca quando eu necessitar. Nesse artigo publicarei minhas notas acerca do comando journalctl
.
Descrição
Ferramenta para visualizar os registros do sistema gerados pelo systemd. O arquivo de configuração para esse utilitário está localizado em /etc/systemd/journald.conf
. As configurações encontradas nesse arquivo são os valores padrões, mesmo estando comentadas.
Exemplos de utilização
Ao rodar o comando journactl
sem parâmetros, é possível navegar pelos registros usando o padrão do less
. Caso se queira remover esse comportamento, basta usar o parâmetro --no-pager
.
Ordem reversa
journalctl -r
Mais recentes n linhas
journalctl -n 25
Tempo real
journalctl -f
Padrão UTC
Por padrão, os logs são exibidos no horário da máquina. Para exibir em UTC, use o seguinte parâmentro:
journalctl --utc
Logs do kernel
journalctl -k
Logs de um boot específico
Para listar as sessões de boot:
journalctl --list-boots
Exemplo de saída:
-5 513008ead8464c23aab732a2feed5277 Sun 2020-07-12 20:43:38 IST—Sun 2020-07-12 22:40:02 IST
-4 caff16e3f46a4479b5287fb9e294f610 Mon 2020-07-13 07:36:04 IST—Mon 2020-07-13 19:13:44 IST
-3 5665f41cc50a4dec9955efacc2596d68 Mon 2020-07-13 20:30:55 IST—Mon 2020-07-13 22:20:34 IST
-2 c7d17407b0bd476a930af503f64b6006 Tue 2020-07-14 07:58:41 IST—Tue 2020-07-14 18:50:04 IST
-1 7ab5e04518ec455abe0e2c86fdaa46fa Tue 2020-07-14 21:19:27 IST—Tue 2020-07-14 22:42:11 IST
0 91856e86d4ee4e828717913deb288568 Wed 2020-07-15 08:11:51 IST—Wed 2020-07-15 17:14:10 IST
Para visualizar a sessão -2:
journalctl -b -2
Logs de uma unidade de serviço
journalctl -u service_name
Log de um intervalo de tempo
journalctl --since=yesterday --until=now
journalctl --since "2020-07-10"
journalctl --since "2020-07-10 15:10:00" --until "2020-07-12"
journalctl --since "-1h30min" (logs desse último intervalo)
journalctl --since "1 hour ago"
Logs baseado em UID, GID e PID
journalctl _PID=1234
Logs de apenas erros
journalctl -p 3 -xb
-p 3
: filtra logs de prioridade 3, correspondente aos erros
-x
: evidencia informações adicionais quando disponíveis
b
: referente ao último boot
Ao invés do número, pode ser usada a string referente à prioridade do logs:
"emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning" (4), "notice" (5), "info" (6), "debug" (7)
journalctl -p warning -b0
Checar uso de disco pelos logs
journalctl --disk-usage
Limpar logs
Arquivar os logs correntes e começar um novo:
journalctl --rotate
Deletar logs mais antigos:
journalctl --vacuum-time=2d
Restringir tamanho do log
journalctl --vacuum-size=100M
Restringir número de arquivos de log
journalctl --vacuum-files=5
Configuração para controle de espaço
Para não precisar intervir manualmente a todo momento que o log ocupar muito espaço, aqui vão alguns campos para alterar no arquivo /etc/systemd/journald.conf
:
Configuração | Descrição |
SystemMaxUse | máximo espaço ocupado em disco |
SystemMaxFileSize | máximo tamanho individual por arquivo de log |
SystemMaxFiles | número máximo de arquivos de log |
Para surtir efeito as novas configurações, reinicie o serviço:
systemctl restart systemd-journald