Mostrando postagens com marcador log. Mostrar todas as postagens
Mostrando postagens com marcador log. Mostrar todas as postagens

domingo, 1 de fevereiro de 2009

TAIL - Visualizando o final dos arquivos

Falando em logs segue abaixo a definição de um comando extremamente útil para visualização de logs, inclusive em tempo real, o tail.

Nome: tail
Definição: Mostra a última parte dos arquivos. Por padrão imprime as últimas 10 linhas de cada arquivo na saída padrão.
Sintaxe:tail [opções] [arquivos]
Opções:
--retry Tenta intermitentemente acessar o arquivo quando este não está disponível no momento. É normalmente utilizado junto com a opção --follow que significa perseguir por nome.
-c N Exibe na saída padrão os últimos N bytes. Mesmo que --bytes=N.
-F A mesma coisa que --follow=name –retry.
-n N Exibe na saída padrão as últimas N linhas no lugar das 10 últimas. Se utilizado o símbolo de + antes do N exibe a partir da enésima linha ex: tail -n +10 /var/log/syslog exibe a partir da décima linha até o final do arquivo.
--pid=PID Com a opção -f, termina após o processo PID terminar.
-s S Com a opção -f espera por aproximadamente S segundos entre as iterações. O padrão é 1)
-q Não exibe os cabeçalhos com o nome dos arquivos.
-v Sempre exibe os cabeçalhos com os nomes dos arquivos.

Exemplos:
#tail -f -s 3 /var/log/syslog –pid=3342 -v (Exibe em tempo real de 3 em 3 segundos as últimas linhas do arquivo /var/log/syslog inclusive com o nome do arquivo enquanto o processo 3342 estiver executando.

#tail -F $HOME/.xsession-erros /var/log/messages -n 30 (Faz várias tentativas para exibir as últimas 30 linhas dos arquivos '/home/”usuário corrente”/.xsession-erros' e '/var/log/messages' caso estes estejam inacessíveis no momento.

quarta-feira, 14 de janeiro de 2009

PS - Status dos Processos

Os logs normalmente são gerados por programas em execução ou processos, e para visualização dos processo em execução e várias informações sobre eles temos um programa extremamente útil para o administrador de redes, o ps.

Nome: ps
Definição: Mostra uma foto dos processos correntes. Ele exibe informações sobre uma seleção de processos ativos. Se necessitar dessas informações em tempo real pode ser utilizado o comando 'top'.
Sintaxe: ps <opções>
Opções:
-a            Mostra os processos que rodam em todos os terminais;
-x            Mostra os processos que rodam independentes de terminal;
-u            Mostra outros dados, inclusive os usuários donos de processos;
-f            Adiciona várias colunas de informação sobre os processos
-e            Mostra todos os processos;
--user X  Exibe apenas processos do usuário X.

Exemplos:
#ps -faex --user root (Exibe todos os processo do usuário root).

#ps fauex (Exibe todos os processos que estão em execução no momento com o máximo de informação possível sobre cada um). Abaixo a definição de cada coluna exibida pelo comando acima:

USER             usuário dono do processo.
PID                 Número ID do processo.
%CPU            Percentual de CPU consumido pelo processo.
%MEM           Percentual de memória consumida pelo processo.
VSZ                Virtual Size. Uso da memória virtual(inclui swap) alocado para o processo.
RSS                 Resident Set Size. Uso real da memória RAM pelo Processo;
TTY                Terminal em uso. Caso o processo não esteja sendo executado em nenhum terminal aparecerá o caractere '?'.
START           Data e hora do início da execução do processo.
TIME            Tempo de execução desde do seu start.
COMMAND   Comando/processo em execução.
STAT            Estado de execução do processo. Os processos podem estar em vários estados, são eles:
R            Processo em execução.
S            Processo em espera.
S            O Processo é lider de sessão, ou seja, ele é o processo principal e tem subprocessos atrelados a ele.
D            O processo está em espera porque aguarda uma operação de I/O. Este estado não admite interrupção.
T            O processo encontra-se parado ou em modo trace (analisando uma ação).
w            O processo realizando paginação de memória. (somente p/ver. 2.4 e inferior).
X            O processo acaba de morrer.
Z            O processo vira “zombie”, morreu mais continua alocando memória.
<            Processo rodando alta prioridade.
N            O processo está rodando em baixa prioridade.
+            O processo rodando em primeiro plano.

segunda-feira, 12 de janeiro de 2009

TCPDUMP - Com ele você pode muito...

A partir de hoje iniciarei uma sequência de posts sobre comandos e suas utilidades. Para iniciar nada melhor do que o TCPDUMP, poderosíssimo.

Para um bom administrador de redes linux é impressindível conhecer o comando tcpdump. Com ele é possível fazer dezenas de diagnósticos de rede e descobrir vários problemas, inclusive de cabeamento.


Nome: tcpdump

Definição: Mostra o tráfego de uma rede. Ele exibe a descrição do conteúdo de pacotes numa interface de rede que case com uma expressão booleana.

Sintaxe: tcpdump <opções> <dispositivo> <expressão>

Opções:

-A Imprime cada pacote em código ASCII.

-c Termina a execução após receber “n” pacotes.

-D Exibe a lista das interfaces de rede disponíveis no sistema e que o tcpdump é capaz de capturar pacotes. Esta opção associa um número a cada interface o qual pode ser usado no lugar do nome da mesma, ex: 1 - eth0, 2 – eth1, 3 – any, 4 – lo (loopback);

-i Recebe como parâmetro a interface ou o número associado a ela. Se especificado “any” captura pacotes de todas as interfaces porém, sem ser no modo promíscuo.

-n Não converte endereços em nomes. (endereços de host, número de portas, etc.)

-r Lê os pacotes a partir de um arquivo (que tenha sido criado com a opção -w).

-s Define o tamanho de cada pacote a ser capturado. É interessante utilizar o valor 1500 para que seja examinado o maior tamanho possível de pacote.

-t Não exibe o timestamp em cada linha.

-v Exibe a saída com mais detalhes.

-vv Exibe a saída com mais detalhes ainda.

-vvv Exibe a saída com informações ainda mais detalhadas.

-w Escreve os pacotes em um arquivo que pode ser lido posteriormente com a opção -r.

-x Exibe o conteúdo do pacote no formato hexadecimal.

-X Exibe o conteúdo do pacote nos formatos hexadecimal e ASCII.

expressão Seleciona quais pacotes serão exibidos. Se não for definida nenhuma expressão todos os pacotes serão exibidos. Do contrário somente os pacotes com os quais a expressão coincidir serão exibidos. A expressão consiste em uma ou mais premissas. As premissas usualmente consistem em um ID (nome ou número) precedido por um ou mais qualificadores.Existem três diferentes tipos de qualificadores:

type (tipo) Especifica host, net, port e portrange. Ex: 'host dragon', 'net 192.168', ' port 22', 'portrange 5000-5777'.

dir (direção) Indica a direção dos pacotes a serem capturados. Podem ser: src, dst, src or dst e src e dst, que significam respectivamente origem, destino, origem ou destino e origem e destino. Se nada for definido assume origem ou destino.

proto (protocolo) Define qual o tipo de protocolo será exibido. Os protocolos possíveis são: ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp e udp.


Exemplos:

#tcpdump -n -i eth0 -s 1500 -X host 192.168.0.110 -c 30 (Faz a captura de 30 pacotes do host 192.168.0.110 na interface eth0 sem resolver nomes com tamanho máximo de pacote de 1500 bytes exibindo o conteúdo dos pacotes nos formatos ASCII e Hexadecimal)


#tcpdump -i eth2 -t -vvv -s 1500 -A dst net 192.168 and not host 192.168.0.114 and not port ssh -w log.dump (Analisa o tráfego da interface eth2 e coleta os dados de pacotes com até 1500 bytes referentes à rede de destino 192.168.0.0 exceto o que se refere ao host 192.168.0.114 e a porta 22(ssh) com o máximo de detalhes sem exibir o timestamp e os grava no arquivo log.dump)