Monitoramento TCP em um servidor: comparando netstat vs lsof?

12

Estou monitorando a pilha TCP em um servidor na esperança de inferir genericamente problemas com o aplicativo na caixa.

Minha primeira inclinação é medir o número de soquetes em todos os estados relatados (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT, etc) e detectar algumas anomalias.

Um colega de equipe sugere que 'lsof' seria uma ferramenta melhor para ver em que estado as pilhas TCP estão.

Quaisquer preferências ou dicas de experiência da multidão de servidores?

    
por ericslaw 06.07.2009 / 22:29

4 respostas

7

Eu prefiro o lsof porque sua saída é consistente em todas as plataformas nas quais ele é executado. Você pode obter as mesmas informações de ambos os programas, no entanto. Eu acho que se resume a preferência pessoal.

    
por 06.07.2009 / 22:53
2

Minha primeira implicação seria usar netstat -ptan , que fornecerá todas as informações que você está procurando. Provavelmente pipe para ordenar e uniq. O seguinte deve dar um bom número de status de socket '.

netstat -ptan | awk '{print $6 " " $7 }' | sort | uniq -c

    
por 07.07.2009 / 21:36
1

Confira dstat e corra com:

% sudo dstat --tcp

Melhor ainda, se você quiser analisar a saída, pode gravar em CSV com --output.

    
por 07.07.2009 / 21:07
1

Eu acho que é mais uma preferência pessoal, já que com um pequeno ajuste (e as opções de comando certas) você pode obter praticamente as mesmas informações.

No entanto, se você quiser monitorar o número de conexões em vários estados, eu não faria isso com uma ferramenta de linha de comando única. Eu faria uso de algo que pode fazer algumas tendências para que você possa revisá-lo ao longo do tempo. Algo como munin seria muito útil, pois seria representado ao longo do tempo (além de mostrar outras estatísticas do sistema potencialmente úteis).

A solução de problemas de um aplicativo é sempre mais fácil se você tiver boas informações sobre a caixa em si e como ela está sendo executada (durante problemas e quando os problemas estão ausentes).

    
por 07.07.2009 / 21:56