Os logs do sistema são seus melhores amigos quando você deseja solucionar erros. Aqui está tudo o que você precisa saber sobre o monitoramento de logs no Ubuntu.
É extremamente frustrante quando seu computador não está funcionando corretamente e você não sabe o porquê. Embora não haja soluções fáceis para todos os problemas que você pode encontrar no Ubuntu, você pode usar recursos como os logs de erros do Ubuntu para solucionar problemas e diagnosticar problemas do seu PC.
O que são logs do Ubuntu?
o ubuntu logs são arquivos abrangentes que armazenam um registro de todos os eventos que ocorrem em seu computador. Inclui informações registradas sobre seu hardware, sistema operacional e até mesmo alguns de seus softwares.
Esses logs são inestimáveis para o processo de solução de problemas e diagnóstico. Eles fornecem informações como carimbos de data/hora, contexto e detalhes detalhados sobre eventos que ocorrem em seu sistema. Para fazer uso desses logs, você deve primeiro conhecer os tipos mais importantes.
Tipos de logs do Ubuntu
Ao invés de escrever cada bit de informação em um log, o Ubuntu registra informações em logs separados projetados para diferentes propósitos. Embora haja muitos logs para listar, há alguns logs importantes (e tipos de log) que você deve conhecer antes de tentar usá-los para solução de problemas.
Talvez o mais proeminente de todos os logs seja o diário do systemd. systemd é um gerenciador de serviço integral no Linux. Como resultado, os problemas com muitos serviços de sistema operacional diferentes são registrados no diário systemd. Você pode navegar neste log com o comando journalctl.
Os logs do sistema também são muito importantes. Esses logs pertencem diretamente a diferentes partes do Ubuntu e podem incluir coisas como mensagens do sistema. Alguns dos logs do sistema incluem:
- O registro de autorização: Qualquer processo que exija autorização, como um comando sudo ou logins de usuário, será registrado nesse log.
- O Registro do Daemon: Este log pertence a quaisquer serviços de segundo plano (ou daemons), como Bluetooth e SSH.
- O registro de depuração: Este log fornece informações de depuração fornecidas pelo sistema, bem como aplicativos que registram no syslogd.
- O Registro do Kernel: Este log inclui registros de atividades envolvendo o kernel do Linux.
- O registro do sistema: Este log armazena registros que incluem a maioria dos tipos de atividade global em seu sistema.
- O registro de falha: Este registro armazena registros de logins com falha, o que o torna particularmente útil para verificar se alguém tentou invadir seu sistema.
Seu computador também pode ter logs de aplicativos (como arquivos de log do Apache ou arquivos de log do MySQL) armazenados no /var/log diretório. Você pode use o comando ls para ver todos os arquivos de log atualmente armazenados em seu computador:
ls /var/log
Como ler logs no Ubuntu
Agora que você está familiarizado com os diferentes tipos de logs em seu sistema, está pronto para se aprofundar nas informações que eles armazenam. Antes de começar, é importante observar que nem todos os logs do sistema são gravados da mesma maneira.
Alguns logs são armazenados como arquivos de texto simples, enquanto outros logs são armazenados como arquivos binários. Você precisará se familiarizar com os dois tipos de arquivos - e as ferramentas de linha de comando com as quais eles estão emparelhados - se quiser analisar efetivamente os registros em seu sistema.
Os logs de arquivo de texto sem formatação usam um modelo conhecido como RSYSLOG_TraditionalFileFormat e incluem quatro campos básicos: timestamp, hostname, application e message. Por exemplo, o log do kernel usa este modelo:
Ao contrário dos logs de texto simples, os logs de arquivos binários não podem ser lidos tão facilmente. Você precisará usar utilitários de linha de comando como Quem, durar, e últimob para ler logs como utmp, wtmp e btmp, respectivamente. Comandos como utmpdump para variantes utmp e systemctl para journald também são projetados para imprimir informações de log binário em um formato legível.
Na maioria das situações, será importante saber como analisar esses logs de maneira eficaz no terminal. Você pode usar comandos como grep e tail para extrair informações específicas sem ter que ler minuciosamente todos os logs do sistema.
Alguns dos melhores comandos que você pode usar incluem:
- grep: Procura uma string de caracteres em um arquivo
- cauda: Imprime 10 linhas a partir do final de um arquivo
- cabeça: Imprime 10 linhas a partir do início de um arquivo
- organizar: Imprime um arquivo reorganizado de acordo com suas especificações
As ferramentas de linha de comando, como utmpdump e systemctl, também possuem sinalizadores úteis que você deve ter em mente ao trabalhar no terminal. Esses sinalizadores permitirão que você modifique o comando e tenha maior controle sobre o que imprime no terminal.
Alguns sinalizadores particularmente úteis para o comando journalctl são:
- -b: Faz com que o journalctl retorne apenas as entradas coletadas após a última reinicialização
- --desde “AAAA-MM-DD HH: MM: SS” --até “AAAA-MM-DD HH: MM: SS”: Instrui o journalctl a retornar apenas entradas antes e/ou depois das datas especificadas
- -p NÚMERO: Filtra entradas por seus níveis de prioridade de syslog (variando de 0/emerg a 7/debug)
Solucionando erros com logs do Ubuntu
Agora que você está familiarizado com os diferentes tipos de logs do sistema e sabe como lê-los efetivamente, a única coisa que resta a fazer é aplicar as informações que você reuniu para a solução de problemas processo. Esse processo geralmente requer alguma criatividade.
É uma boa ideia abordar a solução de problemas pensando primeiro nas características proeminentes do problema com o qual você está lidando. O problema acontece quando você abre um determinado aplicativo? Seu sistema trava e reinicia toda vez que o problema ocorre?
Quando você pensa sobre as características do problema, isso o levará naturalmente a alguns dos melhores logs para coletar informações sobre ele. Por exemplo, se o seu sistema estiver tendo problemas durante o processo de inicialização, você poderá obter algumas informações úteis consultando as entradas de inicialização no journald.
Digite o seguinte comando para imprimir todas as inicializações registradas no journald:
journalctl --list-boots
O terminal imprimirá uma lista de inicializações registradas; as botas mais recentes serão encontradas no final da lista. Observe as datas e horários registrados para cada inicialização até encontrar uma inicialização registrada onde ocorreu o erro.
Pegue o número da coluna mais à esquerda como NUM e digite o seguinte comando para obter mais informações sobre a inicialização:
journalctl -b -NUM -n
Um registro abrangente de informações sobre a inicialização será exibido. Se algum erro incomum ocorrer durante o processo de inicialização, você poderá usar as informações desse registro para avançar na solução de problemas.
O mesmo princípio se aplica a muitas outras questões. No entanto, se você não sabe muito sobre o problema que seu computador está enfrentando, pode ser difícil saber por onde começar. Existem alguns logs que se destacam como particularmente úteis para uma ampla gama de problemas com sistemas Ubuntu.
syslog é o melhor log para começar durante o processo de solução de problemas. Como é efetivamente um log global, é muito provável que tenha algumas informações sobre o problema com o qual você está lidando. Se você estiver tendo problemas com a autenticação (como a senha sudo não está funcionando erro, por exemplo) ou inicializando, então verifique log de autenticação ou boot.log.
Pesquise os logs mais relevantes com palavras-chave relacionadas ao seu problema. Por exemplo, se você estiver tendo problemas para autenticar, você pode extrair registros de auth.log com o seguinte comando:
cat /var/log/auth.log | grep 'Falha de autenticação'
Eventualmente, você certamente encontrará informações que oferecem uma visão excelente. Ao emparelhar informações dos logs de erros com pesquisas na Web, é muito provável que você encontre recursos que o ajudarão a resolver problemas com seu sistema rapidamente.
Recursos on-line de referência para solucionar erros do Linux
Você não precisa passar pelo processo de solução de problemas sozinho. Ao coletar informações sobre o problema com seu computador, você deve usar recursos online como Pergunte ao Ubuntu e aos guias detalhados em MakeUseOf para se aproximar de finalmente diagnosticar e reparar seu PC.