Como visualizar e analisar registros no Linux com o journalctl
As mensagens de log são importantes para auditar e manter um sistema Linux saudável. Cada computador Linux armazena mensagens de log para diferentes serviços ou trabalhos. Este guia explorará como ler e analisar mensagens de log usando journalctl , uma ferramenta de linha de comando para ler mensagens de log escritas por journald .
O que é journald?
Journald é um serviço de registro do sistema que agrega mensagens de registro em um diário. É uma parte do daemon systemd que é responsável pelo registro de eventos no Linux. O diário é simplesmente um arquivo binário usado para armazenar mensagens de log geradas pelo journald.
As mensagens de registro do diário não são persistentes porque são armazenadas na RAM, que é uma forma volátil de armazenamento. Por padrão, os logs do journald são perdidos ou apagados sempre que o PC reinicia ou fica sem energia. O Linux aloca uma quantidade fixa de RAM para os logs do journald para evitar entupir a memória do seu sistema.
Como usar o comando journalctl
Você pode usar o journalctl para consultar o diário do systemd ou os logs do journald. O sistema indexa todos os logs do journald para melhorar a eficiência ao ler mensagens de log do diário.
Nota : Este guia usa sudo para executar comandos usando privilégios elevados porque o comando journalctl não listará todas as mensagens de log quando você executá-lo como um usuário regular do Linux.
Ver todas as mensagens de registro
Para visualizar todos os logs do journald, basta executar o comando journalctl sem nenhum argumento:
sudo journalctl

O comando journalctl listará todos os logs do journald em seu sistema em ordem cronológica. O comando usa menos no fundo, o que lhe dá a mesma capacidade de navegação que você normalmente teria com o comando less. Por exemplo, você pode navegar pelos registros usando as teclas F e B do teclado.
Se você deseja alterar a ordem na qual o sistema produz os logs, ou seja, mostrar o mais recente primeiro, você pode usar o sinalizador -r com o comando. A bandeira -r significa Reverse .
sudo journalctl -r
Ver Kernel journald Logs
Os logs do kernel são muito importantes no Linux porque contêm informações relacionadas ao seu sistema desde o momento em que ele é inicializado. Para visualizar apenas os logs do kernel, especifique a sinalização -k com o comando journalctl:
sudo journalctl -k
A saída também listará algumas informações do kernel, como a versão do kernel e seu nome.
Filtrar registros de diário por um programa específico
Você também pode ver os logs relacionados a um programa ou serviço específico usando o journalctl. Por exemplo, para visualizar os registros associados ao serviço cron , execute o comando abaixo:
sudo journalctl -u cron
Ver mensagens de registro em tempo real
Às vezes, você pode querer ver os logs em tempo real à medida que são registrados. Para isso, emita o seguinte comando:
sudo journalctl -f
Use o atalho de teclado Ctrl + C para sair da visualização em tempo real.
Obter mensagens de registro por data
Você pode usar o journalctl para filtrar e analisar os logs usando um carimbo de data / hora. Por exemplo, para exibir os registros de ontem até agora:
sudo journalctl --since=yesterday
Você pode ser mais específico usando um carimbo de data / hora "desde" e "até" detalhado, como segue:
sudo journalctl --since="2021-07-17 12:00:00" --until="2021-07-17 15:00:00"
Journalctl exibirá apenas as mensagens de log para o período especificado.
Ver mensagens de registro por UID ou PID
Você também pode filtrar os logs do journald usando o ID do usuário (UID) ou o ID do processo (PID). A sintaxe básica é:
sudo journalctl _UID=0
… onde 0 é o UID da conta root. Você também pode substituir o UID no comando mencionado por PID ou GID (ID do grupo).
Formatando a saída do journalctl
Para visualizar os logs do journalctl usando um formato de saída específico, você deve usar o comando journalctl -o seguido do seu formato preferido. Por exemplo, para exibir os logs em um formato JSON bonito, execute o comando abaixo:
sudo journalctl -o json-pretty
Saída:

Configurando o journald no Linux
Este guia mostrou como visualizar e analisar mensagens de log do journald no Linux usando o comando journalctl. O diretório / var / log / journal armazena todos os logs do journald. Observe que nem todas as distros Linux têm o journald habilitado por padrão.
Você pode usar o arquivo /etc/systemd/journald.conf para configurar ou fazer alterações na configuração do journald em seu PC. Além de um serviço de registro eficaz, existem várias outras ferramentas que são essenciais se você leva a sério a segurança de seus servidores Linux.