프로세스 당 대역폭 사용량을 모니터링하는 방법

프로세스 당 대역폭 사용량을 모니터링하는 방법

최근 DigitalOcean Droplet(Ubuntu)에 vnstat를 설치했습니다. 약 한 달 후에 나는 로그를 확인하기로 결정했고 놀랍게도 서버에 들어오고 나가는 "엄청난" 양의 대역폭을 보았습니다. 하루에 거의 50-100MB! 이 Droplet은 nginx를 통해 이미지가 없는 단일 정적 페이지만 호스팅하기 때문에 많은 작업을 수행합니다.

프로세스당 대역폭 사용량을 기록하여 이 문제의 원인을 찾으려면 어떻게 해야 합니까? 내 nginx 로그를 확인했는데 전송된 바이트가 거의 없으므로 다른 문제인 것 같습니다...

나는 nethogs 등을 만났지만 이러한 도구의 문제점은 vnstat와 달리 라이브 데이터만 수집한다는 것입니다. 이상적으로는 vnstat(5분마다 tats 업데이트)처럼 작동하면서도 어떤 프로세스/포트/등을 알려주는 기능을 원합니다. 원인이 되고 있습니다.

답변1

모니터링을 수행하려면 Windows 상자가 필요하지만 SolarWinds 무료 대역폭 분석기 도구는 대역폭 정보와 NetFlow를 모두 가져옵니다(지원하는 라우터가 있는 경우). 추가 문제를 해결하고 싶다면 IPTables 모듈을 설치할 수 있습니다. netflow 및 (자세한 내용은 여기에서 확인하세요:https://serverfault.com/questions/306361/how-to-generate-netflow-data-in-linux) 이를 통해 외부 노드가 연결되고 있는지, 각 노드로 이동하는 트래픽 양, 어떤 프로토콜을 사용하는지 알 수 있습니다.

관련 정보