서버에서 TCP 모니터링 : netstat와 lsof 비교? 유추하기 위해

상자의 응용 프로그램과 관련된 문제를 일반적으로 유추하기 위해 서버에서 TCP 스택을 모니터링하고 있습니다.

내 첫 번째 성향은보고 된 모든 상태 (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT 등)의 소켓 수를 측정하고 일부 이상을 감지하는 것입니다.

한 팀원은 ‘lsof’가 TCP 스택의 상태를 확인하는 더 좋은 도구라고 제안합니다.

serverfault 군중의 환경 설정이나 경험 팁이 있습니까?



답변

lsof는 그것이 실행되는 모든 플랫폼에서 일관성이 있기 때문에 lsof를 선호합니다. 그래도 두 프로그램에서 거의 같은 정보를 얻을 수 있습니다. 나는 그것이 개인 취향에 달려 있다고 생각합니다.


답변

내 첫 번째 의미는 netstat -ptan당신이 찾고있는 모든 정보를 제공 할 것입니다. 아마 파이프 정렬 및 uniq. 다음은 소켓 상태가 양호해야합니다. ‘

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


답변

dstat를 확인 하고 다음을 실행 하십시오 .

% sudo dstat --tcp

더 좋은 방법은 출력을 분석하려는 경우 –output을 사용하여 CSV에 쓰도록 할 수 있습니다.


답변

약간의 조정 (및 올바른 명령 옵션)을 사용하면 거의 동일한 정보를 얻을 수 있으므로 개인적으로 선호하는 것입니다.

그러나 다양한 상태의 연결 수를 모니터링하려면 단일 샷 명령 줄 도구로는하지 않습니다. 시간이 지남에 따라 검토 할 수 있도록 일부 추세를 수행 할 수있는 것을 사용합니다. munin과 같은 것은 시간이 지남에 따라 그래프를 표시하므로 매우 유용 할 것입니다 (다른 잠재적으로 유용한 시스템 통계를 보여주는 것과 함께).

상자 자체에 대한 정보와 수행 방법 (문제가 있거나 문제가없는 경우)에 대한 정보가 있으면 응용 프로그램 문제 해결이 항상 더 쉽습니다.