Resolução de problemas na linha de comando Linux: Dicas para iniciantes

Paulo Henrique Oliveira
3 min readMar 3, 2019

--

A solução de problemas é uma atividade que pode transformar-se facilmente em um desperdício de tempo e recursos, proporcional às dificuldades dos problemas a serem resolvidos. Para otimizar os resultados e limitar testes e testes inúteis, é obrigatório agir seguindo procedimentos bem estruturados.

O método USE — sigla de Utilização, Saturação e Erros — foi originalmente concebido por Brendan Gregg e tem como base uma ideia simples e eficiente: definir um fluxo de trabalho que determina o nível de utilização, saturação e possíveis erros para cada recurso disponível. Desta forma, podemos reduzir gradualmente o número de possíveis causas do mau comportamento até que possamos identificar com precisão a causa da perda de desempenho. Confira!

Dicas para resolução de problemas

Verifique o hardware

Pode parecer meio obvio, mas faça mesmo assim, verifique o hardware, certifique-se que todos os cabos estejam conectados da maneira correta. Existem inúmeros problemas que podem levar até um problema que leve até os cabos. Mas fique tranquilo, não precisa olhar diretamente no hardware, você pode utilizar esse comando shell para verificar se o link do seu dispositivo Ethernet pode ser detectado:
$ sudo ethtool eth0
Caso a resposta seja positiva, você terá a certeza que a porta está conectada com a rede. Existem problemas que não podem ser detectados pelo olho, como problemas na RAM, entre outros problemas que podem ser ocultos por VMs. Para certificar que o problema não está no seu BIOS / UEFI, utilize o seguinte comando:
$ sudo dmidecode
Se mesmo com a resposta positiva com o teste acima, você ainda instalar o Memtes86, que é um software que realiza a verificação da memória, porém é um pouco lento. Caso ele detecte muitos problemas, você pode carregar o módulo edac_core, que faz a verificação constante se a memória está comprometida, para carrega-lo use o seguinte comando:
$ sudo modprobe edac_core

Defina qual o problema

O servidor está com problemas, mas você ainda não identificou qual a causa raiz do problema e nem qual a sua origem. Para que você encontre uma solução, é necessário prestar atenção em alguns detalhes, por exemplo: caso o usuário esteja reclamando que uma aplicação do servidor não está funcionando corretamente, você pode ter uma falha diretamente no cliente.

Você precisa determinar se o problema está no servidor ou no aplicativo. Para isso, você vai precisar verificar se o aplicativo está em execução, com os seguintes comandos:
$ sudo ps -ef | grep apache2
Caso o Apache não esteja em execução, você pode inicia-lo com o seguinte comando:
$ sudo service apache2 start
Antes de assumir que o problema está no seu servidor, busque descobrir qual elemento é o responsável, para que assim você tenha certeza de qual será a melhor maneira para resolver.

Verifique os logs

Por último, mas nunca menos importante, verifique os logs do servidor. Estes geralmente estão em / var / log em um subdiretório específico para o serviço. Para os recém-chegados do Linux, os arquivos de log podem ser assustadores. Eles gravam em arquivos de texto tudo o que o Linux ou o Linux fazem.

Existem dois tipos de registros de log. Registra-se tudo o que acontece em um sistema ou em um programa, como toda transação ou movimentação de dados. O outro registra mensagens de erro do sistema ou do aplicativo. Arquivos de log podem conter ambos. Eles podem ser arquivos enormes. Existem muitas ferramentas para ajudá-lo a verificar os registros.

Uma ferramenta de solução de problemas útil é o dmesg. Isso exibe todas as mensagens do kernel. Isso geralmente é demais, então use este script de shell simples para exibir as últimas 10 mensagens:
$ dmesg | tail
Quer ver o que está acontecendo e quando acontece? Eu sei que faço quando estou solucionando problemas. Utilize a opção -f:
$ tail -f /var/log/syslog
Com o comando acima, tail continua a ficar de olho no arquivo syslog e imprime o próximo evento gravado no syslog.
$ sudo find /var/log -type f -mtime -1 -exec tail -Fn0 {} +

Comente conosco sua experiência com Resolução de Problemas no Linux!

Artigo orignalmente publicado em: https://www.escolalinux.com.br/blog/resolucao-de-problemas-na-linha-de-comando-linux-dicas-para-iniciantes-1

--

--

Paulo Henrique Oliveira
Paulo Henrique Oliveira

Written by Paulo Henrique Oliveira

Empresário do ramo de tecnologia há mais de 20 anos, líder em consultoria, serviços e soluções baseadas na plataforma Linux.

No responses yet