Как отслеживать пропускную способность сети для каждого пользователя на сервере Ubuntu?

У меня есть пользователи оболочки на сервере с 300 ГБ ежемесячной передачи данных. Как я могу контролировать использование полосы пропускания для каждого пользователя?

1
задан 6 October 2012 в 14:56

3 ответа

Я только что наткнулся на NetHogs:

NetHogs - это небольшой инструмент «net top». Вместо того, чтобы прерывать трафик по протоколу или подсети, как это делают большинство инструментов, он группирует полосу пропускания по процессам.

Это должно позволить вам отслеживать пропускную способность по имени пользователя. Может понадобиться еще несколько инструментов для регистрации информации и ее добавления, но это хороший старт без прямого использования iptables.

7
ответ дан 25 May 2018 в 22:43
  • 1
    Его также можно запустить в режиме, чтобы суммировать трафик: sudo nethogs -v 3 eth0 (или несколько раз нажмите m после запуска циклических режимов). Комбинируйте с tmux для непрерывной работы (даже если ваш сеанс ssh завершится сбой). – tanius 31 March 2018 в 16:57

Вы можете использовать Cacti

Cacti - это полный интерфейс RRDTool, он хранит всю необходимую информацию для создания графиков и заполняет их данными в базе данных MySQL. Интерфейс полностью управляется PHP. Наряду с возможностью поддерживать графики, источники данных и архивы Round Robin в базе данных, кактусы обрабатывают сбор данных. Существует также поддержка SNMP для тех, которые используются для создания диаграмм трафика с помощью MRTG.

Или Cacti

Cacti - это полный интерфейс RRDTool, он хранит всю необходимую информацию для создания графиков и заполняет их данными в базы данных MySQL. Интерфейс полностью управляется PHP. Наряду с возможностью поддерживать графики, источники данных и архивы Round Robin в базе данных, кактусы обрабатывают сбор данных. Существует также поддержка SNMP для тех, которые используются для создания графиков трафика с помощью MRTG.

vnStat - это сетевой монитор сетевого трафика для Linux и BSD, который хранит журнал сетевого трафика для выбранного интерфейса (ы). Он использует статистику сетевого интерфейса, предоставленную ядром в качестве источника информации. Это означает, что vnStat фактически не будет обнюхивать какой-либо трафик, а также обеспечивает легкое использование системных ресурсов.

6
ответ дан 25 May 2018 в 22:43
  • 1
    Спасибо, но я уже видел их обоих, и кажется, что они не обеспечиваются для каждого пользователя. Я хочу отслеживать использование для каждого пользователя. – Pedram 4 March 2011 в 11:23

Я немного посмотрел, и я не нашел всеобъемлющего пакета gui, который делает то, что вы хотите.

Я не являюсь сетевым парнем, но из того, что я прочитал, среди многих других netstat и iptables сделать для пользователя ip / host-based учет того, что сделали инструменты acct для учета системных процессов. Эта ссылка cyberciti.biz может поставить вас на путь разработки системы с помощью этих инструментов:

http://www.cyberciti.biz/faq/linux-configuring-ip-traffic-accounting/

5
ответ дан 25 May 2018 в 22:43
  • 1
    Спасибо, но, как вы сказали, они используются для учетной записи пользователя на основе ip. У меня есть пользователь оболочки, который может использовать сервер в разных местах, особенно в университетском отделе с тем же ip-адресом (за NAT). Так что я в поисках пользовательского решения бухгалтерского учета, если это возможно. – Pedram 15 March 2011 в 00:12
  • 2
    netstat -e показывает пользователей оболочки, позволяя вам связать ip / host с именем пользователя. – djeikyb 15 March 2011 в 06:05

Другие вопросы по тегам:

Похожие вопросы: