Как увидеть каждое соединение использование полосы пропускания?
У меня есть сервер Linux Linux и я хочу видеть текущие сетевые подключения и скорость загрузки / выгрузки каждого из них. Есть ли простая команда, которая выполняет эту цель?
4 ответа
Доступно множество инструментов, хотя вам придется установить систему сетевого мониторинга для получения информации о пропускной способности каждого процесса.
В порядке простоты настройки:
Простой пакет, который не требует больших настроек - это iftop. Это покажет вам пропускную способность на процесс. Это, вероятно, то, что вы хотите, если вы хотите простое решение в реальном времени.
- Чтобы просто получить пропускную способность для интерфейса,
bwm-ng
небольшой пакет, который показывает использование в режиме реального времени для каждого интерфейса. netstat
будет перечислять ваши открытые соединения, и уже должны присутствовать в большинстве систем- ntop - очень полезный инструмент для мониторинга системы, который также может отслеживать TCP-соединения для каждого процесса, если вы устанавливаете модуль ядра для поддержки мониторинга сети.
- Gacti, nagios, ntop и ganglia - это несколько более тяжеловесных систем, которые могут осуществлять мониторинг сети для каждого хоста / системы / службы / протокола / и т. Д. В зависимости от настройки одного сервера для всей сети предприятия. См. Мониторинг сервера MediaWiki для реального примера
ganglia
В бою.
Есть простой пакет, называемый nethogs, который показывает полосу пропускания, используемую отдельными процессами, и сортирует список, помещая самые интенсивные процессы на первое место.
# Ubuntu or Debian
$ sudo apt install nethogs
# Fedora or CentOS
$ sudo yum install nethogs -y
Непрерывный опрос в режиме реального времени с интервалом в 5 секунд с использованием собственного netstat
netstat --interfaces = eth0 -c 5
Таблица интерфейса ядра
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 601670041 0 0 0 290653338 0 0 0 BMRU
eth0 1500 0 601796657 0 0 0 290721761 0 0 0 BMRU
с помощью awk вы можете просто наблюдать интересующее вас поле, ниже приведенный пример, вы просто будете наблюдать, как 2 столбца RX и TX показывают, сколько пакетов было получено или передано без ошибок (RX-OK / TX-OK)
netstat --interfaces = eth0 -c 5 | awk '{print $ 4 "\ t" $ 8}'
RX-OK TX-OK
605142559 292429624
605142595 292429661