Недавно я установил vnstat на свой DigitalOcean Droplet (Ubuntu). Примерно через месяц я решил проверить журнал и к своему удивлению увидел «огромные» объемы трафика, входящие и исходящие с сервера. Почти 50-100 МБ в день! Что очень много для этого Droplet, поскольку он размещает только одну статическую страницу без изображений через nginx.
Как мне зарегистрировать использование полосы пропускания для каждого процесса, чтобы я мог найти причину? Я проверил логи nginx, и в них почти нет отправленных байтов, так что это должно быть что-то другое...
Я натыкался на nethogs и подобные, но проблема с этими инструментами в том, что, в отличие от vnstat, они собирают только живые данные. В идеале мне бы хотелось что-то, что работает как vnstat (обновление tats каждые 5 минут), но также сообщает мне, какой процесс/порт/и т. д. вызывает это.
решение1
Для мониторинга вам понадобится Windows, но бесплатный инструмент Bandwidth Analyzer от SolarWinds извлечет информацию о полосе пропускания и NetFlow (если у вас есть маршрутизатор, который его поддерживает). Если вы хотите приложить дополнительные усилия, вы можете установить модуль IPTables для NetFlow и (более подробная информация здесь:https://serverfault.com/questions/306361/how-to-generate-netflow-data-in-linux), который покажет вам, к каким внешним узлам осуществляется подключение, какой объем трафика поступает на каждый из них и какие протоколы используются.