서버에서 TCP 모니터링 : netstat와 lsof 비교?


12

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

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

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

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


3
Windows 괴짜를 놀라게하기 위해 * nix 태그를 추가하십시오
KevinH

답변:


7

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


2

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

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


1

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

% sudo dstat --tcp

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


흥미로운 도구는 리눅스에만 해당됩니다 (상당히 이해할 수는 있지만). 네트워크 정보를 포함하는 SAR과 비슷한 것을 볼 수있어서 좋습니다 (리눅스 sar 버전도 그와 같이 보입니다).
ericslaw

1

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

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

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


명령 행 도구는 수집 전용입니다. 기준선에 대한 데이터 수집의 요점은 실제로 적절한 접근 방식입니다.
ericslaw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.