У меня есть сервер Linux Linux и я хочу видеть текущие сетевые подключения и скорость загрузки / выгрузки каждого из них. Есть ли простая команда, которая выполняет эту цель?
4 ответа
Доступно много инструментов, хотя вам придется установить систему сетевого мониторинга для получения информации о пропускной способности каждого процесса.
В порядке простоты настройки:
Простой пакет, который не требует много настроек - это iftop. Это покажет вам пропускную способность на процесс. Это, вероятно, то, что вы хотите, если вы хотите простое решение в реальном времени.
- Чтобы получить пропускную способность для каждого интерфейса,
bwm-ng
- это небольшой пакет, который показывает использование в реальном времени для каждого интерфейса. netstat
перечислит ваши открытые соединения и должен уже присутствовать в большинстве систем- ntop - очень полезный инструмент для мониторинга системы, который также может отслеживать TCP-соединения для каждого процесса, если вы устанавливаете модуль ядра для поддержки мониторинга сети.
- Gacti, Nagios, NTOP и ганглии несколько более тяжелые весовые системы , которые могут выполнять мониторинг сети на хост / системы / службы / протокол / и т.д. , в зависимости от настройки для одного сервера к корпоративной сети в целом. См. Мониторинг сервера MediaWiki для реального примера работы
ganglia
.
непрерывный опрос в режиме реального времени с интервалом в 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