Como visualizar logs Systemctl

Como Visualizar Logs Systemctl



O systemd é um dos sistemas init amplamente adotados no Linux. A principal vantagem do systemd é a capacidade de gerenciar os logs do sistema. Ele coleta todas as mensagens do kernel e processos do usuário em um log chamado Diário . O registrado no diário é o daemon que captura e gerencia os logs em um arquivo binário. Este daemon tem o principal benefício de armazenar dados de forma estruturada e indexada, facilitando o acesso e a análise através do jornalctl Utilitário.

Neste guia, abordarei como visualizar os logs do systemd no Linux usando diferentes utilitários de linha de comando.

Observação: Os comandos mencionados neste guia são executados no Ubuntu. Eles funcionarão sem erros em todas as distribuições Linux que vêm com o sistema init systemd.







Métodos para visualizar logs systemctl

Existem duas abordagens para visualizar os logs do systemd no Linux:



O systemctl fornece os logs específicos do serviço mais recentes, enquanto o journalctl fornece logs detalhados de todo o sistema de todos os serviços e do serviço específico.



Explorarei os dois utilitários para visualizar os logs do systemd. Mas primeiro, vamos entender a principal diferença entre os comandos systemctl e journalctl.





O que é systemctl

Systemctl é um utilitário de linha de comando que gerencia serviços do systemd, como ativar ou desativar o serviço e visualizar o status. O status do systemctl O comando também imprime algumas linhas de log do serviço na parte inferior da saída, e esse log ocorre após a inicialização recente. No entanto, essas linhas de log do serviço são somente após a inicialização atual.

O que é jornalctl

O journalctl é um utilitário de linha de comando usado para imprimir os logs coletados pelo systemd. Comparado ao systemctl, ele fornece resultados detalhados com opções de filtragem. Este utilitário foi projetado para:



  • Ler logs (o log mais antigo vem primeiro)
  • Monitorar registros
  • Filtre registros com base em horário, serviço ou usuário

O systemd coleta logs do kernel, serviços e daemons e os armazena em um local centralizado.

Como visualizar o log de um serviço usando systemctl

A sintaxe geral para encontrar o log de um serviço usando o sistemactl utilitário é mencionado abaixo.

status do systemctl [ Nome do Serviço ]

Por exemplo, para visualizar as informações de registro do smbd.serviço use o comando fornecido abaixo.

status do systemctl smbd.service

Para obter saída sem paginação, adicione o –sem pager opção no comando.

status do systemctl smbd.service --no-pager

Como visualizar o log de um serviço usando journalctl

Para visualizar o log de um serviço específico do systemd, use jornalctl com o -em comando e serviço ou nome da unidade.

jornalctl -em [ Nome do Serviço ]

No comando acima, o -em bandeira, abreviação de -unidade é usado para filtrar o jornalctl saída por um nome de unidade.

Por exemplo, para imprimir o log do pequeno daemon, vou substituir o [nome da unidade] com smbd.serviço .

jornalctl -em smbd.serviço

Na saída, pode-se ver que a entrada mais antiga vem primeiro e, em seguida, registra após cada inicialização ser listada.

Para obter a entrada mais recente, use primeiro -e abreviatura de –fim da página.

jornalctl -em smbd.serviço -e

Se você quiser omitir a paginação da saída, basta anexar o –sem pager nos comandos mencionados acima.

Para imprimir continuamente as entradas de log em tempo real -f abreviatura de -seguir .

jornalctl -em smbd.serviço -f

A filtragem pode ser expandida ainda mais usando o sinalizador -b, abreviação de -bota , que imprime os logs com base na inicialização atual.

jornalctl -em [ nome da unidade ] -b

Vamos imprimir logs do smbd.serviço da inicialização recente.

jornalctl -em smbd.serviço -b

A saída acima se assemelha à saída que obtemos usando o status do systemctl comando.

Para obter uma visão geral detalhada do log, use o -x abreviatura de -Catálogo opção.

jornalctl -em smbd.serviço -x

Isso anexará uma breve descrição do log.

Agora, para imprimir logs com base no tempo usando o journalctl, existem duas opções, -S abreviatura de -desde e -EM abreviatura de -até .

jornalctl -em [ nome da unidade ] -S '[ano-mês-dia] [horas:minutos:segundos]'

Por exemplo, para visualizar os registros da unidade pequeno de 2024:01:30 12:05:00 .

jornalctl -em smbd.serviço -S '2024:01:30 12:05:00'

Conclusão

Para visualizar os logs do systemd de um serviço, existem dois utilitários principais, journalctl e systemctl. O journalctl foi projetado especificamente para visualizar os logs do systemd. Porém, o systemctl também possui a opção de imprimir o log do serviço. Para imprimir o registro de uso de um serviço, diárioctl -você [nome da unidade] e sistemactl [nome da unidade].