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 do TCP estão.
Alguma preferência ou dicas de experiência da multidão de falhas no servidor?
Respostas:
Prefiro lsof porque sua saída é consistente em todas as plataformas em que é executada. Você pode obter praticamente as mesmas informações de ambos os programas. Eu acho que tudo se resume a preferência pessoal.
fonte
Minha primeira implicação seria usar o
netstat -ptan
que fornecerá todas as informações que você está procurando. Provavelmente canalize para classificar e uniq. O seguinte deve fornecer um bom número de status do soquete '.netstat -ptan | awk '{print $6 " " $7 }' | sort | uniq -c
fonte
Confira dstat e execute com:
Melhor ainda, se você deseja analisar a saída, pode fazê-la gravar em CSV com --output.
fonte
Eu acho que é realmente mais uma preferência pessoal, pois, com um pouco de ajustes (e as opções de comando corretas), você pode obter praticamente as mesmas informações.
No entanto, se você deseja monitorar o número de conexões em vários estados, eu não faria isso com uma ferramenta de linha de comando de tiro único. Eu usaria algo que pode fazer algumas tendências, para que você possa revisá-lo ao longo do tempo. Algo como munin seria muito útil, pois representaria graficamente com o tempo (junto com 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 própria caixa e seu desempenho (durante problemas e quando os problemas estão ausentes).
fonte