Procurar no blog

17 de agosto de 2012

Monitoramento no Linux.


Há alguns dias precisei monitorar um servidor CENTOS 5.7 x64, para descobrir porque uma aplicação em java usando o tomcat caia varias vezes por dia.

Diante disso tive que pesquisar muitas páginas de tutoriais na net e acabei encontrando vários comandos e ferramentas que me auxiliaram nesse trabalho.

A maioria das distribuições Linux disponibilizam esse tipo de ferramentas. Elas servem para encontrar possíveis causas de um problema de desempenho por exemplo: problemas de armazenamento, problemas de CPU e memória, problemas de conexão de rede entre outros.

Estou postando aqui alguns comandos que são de grande ajuda para qualquer SysAdmin, e para meu uso, nunca se sabe quando é necessário.

# TOP - Esse aplicativo mostra em tempo real a atividade atual do processo, exibe a maioria das tarefas em execução no servidor e atualiza a lista a cada 5 segundos.

Use: top

Os comando básicos são:
t - liga e desliga o resumo das informações
m - liga e desliga informações da memória
A - lista processos por consumo de recursos do sistema, identifica qual processo está consumindo mais recurso.
f - exibe uma tela de configuração interativa
o - abre uma tela para seleção interativa dos itens da lista
r - reinicia um proceeso (PID)
k - mata um processo (PID)
z - alterna as cores entre nono/color

Saida: top


# VMSTAT - O comando vmstat exibe informações sobre processos, memória, paginação, blocos de IO e atividades da CPU.

Use: vmstat -opção

-v -> mostra a versão
-n -> não imprime os cabeçalhos não sejam reimpressos
-a -> mostra estatísticas de páginas ativas/inativas
-d -> mostra estatísticas de disco
-D -> mostra a tabela de discos
-p -> mostra estatísticas das partições
-s -> mostra tabela de vm
-m -> mostra slabinfo

Saida:



# W - O comando w, mostra quem está conectado atualmente na máquina e seus processos.

Use: w -> para listar todos os usuários conectado
w username -> para informações do usuário solicitado

Opções:
-h -> Não exibe o cabeçalho da aplicação
-l -> exibe uma lista longa, com mais informações
-s -> exibe uma lista curta, com menos informações
-u -> ignora uid do processo
-f -> alterna entre campos (padrão é on)
-V -> exibe a versão do w

Saida:


# UPTIME -> O comando uptime pode ser usado para ver quanto tempo o servidor está em execução, o tempo atual, quanto tempo o sistema está funcionando, quantos usuários estão conectado no momento, e as médias do sistema de carga nos últimos 1, 5 e 15 minutos.

Use: uptime

Opções:
-v -> exibe a versão do comando

Saida:

17:18:38 up 3 days, 5:05, 1 user, load average: 0.02, 0.04, 0.04

# PS -> O comando ps, exibe uma instatanea dos processos em execução no momento.

Use: ps -opção - -A ou -e exibe todos os processos.

Mostrar saída de formatação longa
# ps -Al

Para ativar o modo completo extra (ele irá mostrar argumentos de linha de comando passados ​​para processar)
# ps -AlF

Para Ver Threads (LWP e NLWP)
# ps -AlFH

Para Ver Tópicos Depois de Processos
# ps -AlLm

Imprimir todo o processo no servidor
# ps ax
ou
# ps aux

Imprimir uma árvore de processos
# ps -ejH
ou
# ps axjf
ou
# pstree

Imprimir Segurança da Informação
# ps -eo euser,ruser,suser,fuser,f,comm,label
ou
# ps axZ
ou
# ps -eM

Veja cada processo em execução do usuário fulano
# ps -U fulano -u fulano u

Definir saída em um formato definido pelo usuário
# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ou
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ou
# ps -eopid,tt,user,fname,tmout,f,wchan

Mostrar Apenas os IDs de processo de Lighttpd
# ps -C lighttpd -o pid=
ou
# pgrep lighttpd
ou
# pgrep -u fulano php-cgi

Exibir o nome do PID 55977
# ps -p 55977 -o comm=

Exibe os 10 processos que mais consomem memória
# ps -auxf | sort -nr -k 4 | head -10

Exibe os 10 processo que mais consomem CPU
# ps -auxf | sort -nr -k 3 | head -10

Saida: comando ps -AlF.



# NETSTAT -> O comando netstat exibe as conexões de rede, tabelas de roteamento, estatísticas de interfaces, conexões masquerade, e associações de multicast.

Uso: netstat {-V|--version|-h|--help}

Saida: netstat




Saida: netstat -i



# SS -> O comando ss é usado para exibir as estatísticas de soquete. Ele permite mostrar informações semelhantes às do netstat.

Uso: ss -opções

Saida: ss


Saida: ss -s


# IPTRAF -> O comando iptraf é um monitor IP de rede LAN, que gera estatísticas de rede incluindo várias informações TCP, UDP, ICMP e informação OSPF, estatísticas de nó, erros de checksum IP, e outros. Ele pode fornecer as seguintes informações em formato fácil de ler:

Estatísticas de tráfego de rede por conexão TCP
Estatísticas de tráfego por interface de rede IP
Estatísticas de tráfego de rede por protocolo
Estatísticas de tráfego de rede por porta TCP/UDP e pelo tamanho do pacote
Estatísticas de tráfego de rede por endereço Layer2

Use: iptraf

Saida:

Existem muitos outros comandos interessantes que devo postar brevemente.