Eu já vi um sysadmin Linux perder 1 dia de trabalho para identificar um problema que poderia ser identificado em 1 minuto. Porque então essa pessoa não conseguiu identificar o problema em 1 minuto?

A resposta para esta pergunta acima é igual para qualquer área onde você trabalhe: falta de experiência e falta de conhecimento da sua caixa de ferramentas.

Como eu já disse no artigo Conheça 7 ferramentas do meu kit de sobrevivência é de extrema importância o profissional conhecer a sua caixa de ferramentas e saber qual ferramenta é mais adequada para um trabalho, digo isso porque é possível por exemplo bater um prego com um alicate e apertar um parafuso com uma faca, mas o tempo para fazer isso será bem maior do que utilizando as ferramentas corretas.
Com Linux é igual. Se você deseja ser um sysadmin Linux vai precisar conhecer muito bem as principais ferramentas do sistema e saber quais são as mais adequadas para determinado trabalho.

Já a falta de experiência não é um skill técnico que pode ser comprado ou aprendido em curto espaço de tempo, vai demandar mais trabalho e vivência com as situações do dia a dia para adquirir mais conhecimento e aos poucos montar um mapa mental sobre quais motivos geralmente levam o sistema a se comportar daquela maneira.

Conhecer bem as ferramentas à sua disposição, vai te ajudar a apanhar menos do sistema e pode acelerar a descoberta de um problema.
Vou enumerar abaixo 4 ferramentas que podem facilmente te ajudar a detectar problemas que acontecem frequentemente e que levam o sistema a se comportar de forma rebelde.

df

Esta ferramenta é utilizada para mostrar o uso do disco e suas partições. Mostra o espaço livre e o espaço utilizado em cada partição do sistema. Pode parecer óbvio checar o espaço livre das partições ao primeiro sinal de problema, porém muitos procuram em lugares mais difíceis e sinistros.
O caso que eu contei no começo desse artigo, tomou 1 dia inteiro de um sysadmin Linux e no final era um problema com espaço em disco.
Grave aí uma dica que vai te ajudar muito: ao iniciar uma checagem de problemas em um sistema Unix, o df deve ser a primeira ferramenta da sua caixa a ser utilizada.

Exemplo de uso do df:
df

Para mais informações sobre uma ferramenta no Linux, sempre utilize:

$ man df

top

Quando o df não identifica o problema logo de cara, o top geralmente identifica quem é o processo que está se comportando mal, isso porque ele mostra na tela todos os processos (sofwares e daemons) que estão rodando naquele momento, quais processos estão consumindo mais recursos do sistema além de informações adicionais como uso de memória e outras informações interessantes.

O uso básico do top já pode te ajudar bastante.
top

O top possui muitas opções e recomendo que você visite o “man top” para conhecer mais.

Uma vez detectado qual processo está se comportando mal, ou seja, qual processo está consumindo mais recursos do sistema, já pode ser possível deduzir o que deve ser feito.

tcpdump

Todo sysadmin Linux precisa conhecer bem esta ferramenta de rede. O tcpdump é um sniffer de rede que permite capturar pacotes de rede e mostrá-los na tela. Se um sistema está se comportando mal e o top mostrou por exemplo que um daemon de rede está consumindo mais CPU que o normal, há indícios fortes de que tráfego anormal pode estar vindo pela placa de rede.

Exemplo:
tcpdump

Como você pode perceber, o tcpdump precisa de permissões privilegiadas (root) para conseguir “escutar” o tráfego proveniente da placa de rede.
Recomendo que você utilize o “man tcpdump” para identificar o significado dos parâmetros “-nnNl” utilizados neste exemplo – garanto que você vai aprender mais coisas.

kill

Deixei esta ferramenta por último porque na sequência lógica, ela pode “resolver” ou “atenuar” os sintomas que estão comprometendo o desempenho do sistema. Como o próprio nome diz, o kill serve para matar processos em qualquer sistema Linux ou baseados em Unix (isso é universal, vai por mim). Obviamente que antes de matar o processo que está se comportando mal, o correto é fazer uma análise de logs para descobrir o que causou este comportamento, porém existem casos onde isso deverá ser feito posteriormente dando preferência para o funcionamento normal do sistema.
Como todos as ferramentas, o kill possui muitos parâmetros mas para seu uso básico, você precisa saber o que deseja matar (quem mata, mata alguma coisa). Se observar novamente a saída do comando top, verá que na primeira coluna sempre existe um número para cada processo, esse é o PID (Process ID) daquele processo e é este número que deve ser utilizado no kill.

Exemplos:

 # Envia o sinal TERM (default) ao processo 78566. Normalmente este sinal informa ao processo para encerrar suas operações e finalizar.
 $ sudo kill 78566

 # Envia o sinal KILL ao processo 4563. Este sinal informa ao processo para finalizar “agora”.
 $ sudo kill -KILL 4563

 # Lista todos os sinais disponíveis
 $ kill -l

Se você quiser matar um processo que não foi iniciado pelo seu usuário, necessitará de permissões privilegiadas para isso (root), por isso o uso do “sudo” nos comandos acima.

Posso te garantir uma coisa, se dominar o uso das ferramentas descritas acima, já conseguirá detectar uma gama muito grande de problemas que acontecem em um sistema Linux, inclusive na mesma sequência em que foram apresentadas aqui (df, top, tcpdump e kill).

O que achou desse artigo? Deixe seu comentário abaixo!

Até a próxima!

Comentários

comentários