Мониторинг сети Linux

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

В некоторых командах показана пропускная способность, используемая отдельными процессами. Это упрощает обнаружение процесса, который перегружает пропускную способность сети.

Инструменты имеют разные механизмы формирования отчета о трафике. Некоторые из инструментов, таких как nload, читают файл «/ proc / net / dev» для получения статистики трафика, тогда как некоторые инструменты используют библиотеку pcap для захвата всех пакетов, а затем вычисляют общий размер для оценки нагрузки трафика.

Мониторинг сети Linux

Ниже приведен список команд, отсортированных по их функциям.

  1. Общая пропускная способность — nload, bmon, slurm, bwm-ng, cbm, спидометр, netload
  2. Общая пропускная способность (выход пакетного стиля) — vnstat, ifstat, dstat, collectl
  3. Ширина полосы пропускания для каждого сокета — iftop, iptraf, tcptrack, pktstat, netwatch, trafshow
  4. Пропускная способность для каждого процесса — nethogs

Nload

Nload — это инструмент командной строки, который позволяет пользователям контролировать входящий и исходящий трафик отдельно. Он также выводит график, указывающий то же самое, масштаб которого можно отрегулировать. Прост в использовании и не поддерживает множество опций.

Поэтому, если вам просто нужно быстро взглянуть на использование общей пропускной способности без подробностей отдельных процессов, то достаточно будет ввести nload в терминал.

nload

Чтобы выйти мониторинга сети, достаточно нажать клавишу Q

Мониторинг сети Linux

Установить nload в Debian или Ubuntu можно из репозиториев по-умолчанию:

sudo apt-get install nload

Пользователи CentOS или Fedora могут установить nload командой:

sudo yum install nload

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки nload заново.

iftop

Мониторинг сети Linux является довольно легким в освоении. Для этого существует огромное количество вариантов. Вы можете выбрать самый удобный для вас. Iftop измеряет данные, проходящие через отдельные соединения сокетов, и работает таким образом, который отличается от Nload. Iftop использует библиотеку pcap для захвата пакетов, перемещающихся в и из сетевого адаптера, а затем суммирует размер и количество, чтобы найти общую используемую ширину полосы пропускания.

Несмотря на то, что iftop сообщает пропускную способность, используемую отдельными соединениями, он не может сообщить имя / идентификатор процесса, участвующего в конкретном подключении сокета. Но, основываясь на библиотеке pcap, iftop может фильтровать трафик и использовать пропускную способность для передачи по выбранным узловым соединениям, как это определено фильтром.

sudo iftop -n

Опция n не позволяет iptop отыскивать IP-адреса на имя хоста, что вызывает дополнительный сетевой трафик.

Мониторинг сети Linux

Установить iftop в Debian или Ubuntu можно из репозиториев по-умолчанию.

sudo apt-get install iftop

Пользователи CentOS или Fedora могут установить iftop командой:

sudo yum install iftop

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить Epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки iftop заново.

iptraf

Iptraf — это интерактивный и красочный монитор IP Lan. Он показывает индивидуальные соединения и объем данных, передаваемых между хостами. Вот скриншот

sudo iptraf
Мониторинг сети Linux

Установка iptraf в Ubuntu или Debian :

 sudo apt-get install iptraf iptraf-ng

Установка iptraf в CentOS или Fedora

sudo yum install iptraf-ng

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки iptraf заново.

Nethogs

Nethogs — это небольшой инструмент «net top», который показывает пропускную способность, используемую отдельными процессами, и сортирует список, в котором самые интенсивные процессы находятся сверху. В случае внезапного скачка полосы пропускания быстро открывайте nethogs и найдите ответственный за процесс. Nethogs сообщает PID, пользователя и путь программы.

sudo nethogs
Мониторинг сети Linux

Установка nethogs в Ubuntu или Debian :

sudo apt-get install nethogs

Установка nethogs в CentOS или Fedora

sudo yum install nethogs

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки nethogs заново.

bmon

Bmon (Bandwidth Monitor) — это инструмент, аналогичный nload, который показывает нагрузку на трафик по всем сетевым интерфейсам в системе. Вывод также состоит из графика и раздела с деталями уровня пакета. Bmon поддерживает множество опций и способен создавать отчеты в формате html.

Монитор сети bmon linux

Мониторинг сети Linux

Установка bmon в Ubuntu или Debian :

sudo apt-get install bmon

Установка bmon в Fedora

sudo yum install bmon

Slurm

Slurm является еще одним монитором сетевой нагрузки, который показывает статистику устройства вместе с графиком ascii. Он поддерживает 3 разных стиля графиков, каждый из которых может быть активирован с помощью клавиш c, s и l. Простой в функциях, slurm не отображает никаких дополнительных сведений о сетевой нагрузке.

slurm -s -i eth0
Мониторинг сети Linux

Установить slurm в Debian или Ubuntu

sudo apt-get install slurm

Установить slurm в Fedora или CentOS

sudo yum install slurm

Tcptrack

Tcptrack похож на iftop и использует библиотеку pcap для захвата пакетов и вычисления различной статистики, такой как пропускная способность, используемая в каждом соединении. Он также поддерживает стандартные фильтры pcap, которые можно использовать для контроля определенных соединений.

Мониторинг сети Linux

Установка tcptrack в Ubuntu или Debian :

sudo apt-get install tcptrack

Установка tcptrack в Fedora

sudo yum install tcptrack

Vnstat

Vnstat немного отличается от большинства других инструментов где Мониторинг сети Linux является основой. На самом деле он запускает фоновый сервис / daemon и постоянно фиксирует размер передачи данных. Кроме того, его можно использовать для создания отчета об истории использования сети.

user@debian:~$ sudo service vnstat status * vnStat daemon is running 

Запуск vnstat без каких-либо параметров просто покажет общий объем передачи данных, который произошел с момента запуска демона.

user@debian:~$ sudo vnstat Database updated: Mon Mar 17 15:26:59 2014 eth0 since 06/12/13 rx: 135.14 GiB tx: 35.76 GiB total: 170.90 GiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s ------------------------+-------------+-------------+--------------- estimated 9.28 GiB | 2.83 GiB | 12.11 GiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s ------------------------+-------------+-------------+--------------- estimated 199 MiB | 63 MiB | 262 MiB | 

Чтобы отслеживать использование полосы пропускания в реальном времени, используйте параметр «-l» (режим «вживую»). Затем она покажет общую пропускную способность, используемую входящими и исходящими данными, но очень точным образом, без каких-либо внутренних сведений о хостах или процессах.

user@debian:~$ vnstat -l -i eth0 Monitoring eth0... (press CTRL-C to stop) rx: 12 kbit/s 10 p/s tx: 12 kbit/s 11 p/s 

Vnstat больше походит на инструмент для получения исторических отчетов о том, как много трафика используется каждый день или в течение последнего месяца. Это не строго инструмент для мониторинга сети в реальном времени.

Vnstat поддерживает множество опций, подробности о которых можно найти на странице руководства.

Установить vnstat в Debian или Ubuntu

sudo apt-get install vnstat

Установить vnstat в Fedora или CentOS

sudo yum install vnstat

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки vnstat заново.

bwm-ng

Bwm-ng (Bandwidth Monitor Next Generation) является еще одним очень простым монитором сетевой нагрузки в режиме реального времени, который сообщает сводную информацию о скорости передачи данных и из всех доступных сетевых интерфейсов в системе.

$ bwm-ng bwm-ng v0.6 (probing every 0.500s), press 'h' for help input: /proc/net/dev type: rate / iface Rx Tx T ot ====================================================================== eth0: 0.53 KB/s 1.31 KB/s 1.84 KB lo: 0.00 KB/s 0.00 KB/s 0.00 KB-------------------------------------------------------------------- total: 0.53 KB/s 1.31 KB/s 1.84 KB/s

Если размер консоли достаточно велик, bwm-ng также может отображать гистограммы для трафика, используя режим вывода curses2.

bwm-ng -o curses2

Установка bwm-ng в Ubuntu или Debian

sudo apt-get install bwm-ng

Установка bwm-ng в Fedora или CentOS

sudo yum install bwm-ng

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки bwm-ng заново.

cbm

Небольшой простой монитор пропускной способности, отображающий объем трафика через сетевые интерфейсы. Нет дополнительных параметров, просто статистика трафика отображается и обновляется в реальном времени.

Мониторинг сети Linux

Установка cbm в Ubuntu или Debian

sudo apt-get install cbm

Установка cbm в Fedora или CentOS

sudo yum install cbm

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки cbm заново.

speedometer

Еще один маленький и простой инструмент, который мы должны были добавить в статью про Мониторинг сети Linux, который просто рисует красиво выглядящие графики входящего и исходящего трафика через данный интерфейс.

speedometer -r eth0 -t eth0
Мониторинг сети Linux

Установка speedometer в Ubuntu или Debian

sudo apt-get install speedometer

Pktstat

Pktstat отображает все активные соединения в реальном времени и скорость, с которой данные передаются через них. Он также отображает тип соединения, т. Е. Tcp или udp, а также информацию о HTTP-запросах, если они задействованы.

sudo pktstat -i eth0 -nt
Мониторинг сети Linux

Установка speedometer в Ubuntu или Debian

sudo apt-get install pktstat

Netwatch

Netwatch является частью коллекции инструментов netdiag, и она также отображает соединения между локальным хостом и другими удаленными узлами и скорость передачи данных по каждому соединению.

sudo netwatch -e eth0 -nt
Мониторинг сети Linux

Установка netwatch в Ubuntu или Debian (является частью netdiag)

sudo apt-get install netdiag

Trafshow

Как и netwatch и pktstat, trafshow сообщает о текущих активных соединениях, их протоколе и скорости передачи данных в каждом соединении. Он может отфильтровывать соединения, используя фильтры типа pcap.

Кстати, если говорить про Мониторинг сети Linux то здесь можно отметить также и этот способ. Trafshow является таким же удобным как и его аналоги.

Мониторинг только соединений TCP

sudo trafshow -i eth0 tcp
Мониторинг сети Linux

Установка trafshow в Ubuntu или Debian (является частью netdiag)

sudo apt-get install netdiag

Установка trafshow в Fedora или Centos

sudo yum install trafshow

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel

sudo yum install epel-release sudo yum update

А затем ввести команду установки trafshow заново.

Netload

Команда netload просто отображает небольшой отчет о текущей нагрузке на трафик и общее количество байтов, переданных с момента запуска программы. Нет больше функций. Его часть netdiag.

Мониторинг сети Linux

Установка netload в Ubuntu или Debian (является частью netdiag)

sudo apt-get install netdiag

ifstat

Ifstat сообщает о пропускной способности сети в режиме пакетного стиля. Выходной файл находится в формате, который легко регистрируется и анализируется с помощью других программ или утилит.

Мониторинг сети Linux
Мониторинг сети Linux

Установка ifstat в Ubuntu или Debian

sudo apt-get install ifstat

Установка ifstat в Fedora

sudo yum install ifstat

Установка ifstat в CentOS . Необходимо сначала подключить RepoForge. Инструкцию можно увидеть здесь . Затем ввести:

sudo yum --enablerepo=rpmforge install ifstat

dstat

Dstat — это универсальный инструмент (написанный на python), который может отслеживать различные системные статистики и сообщать о них в режиме пакетного стиля или записывать данные в файл csv или аналогичный файл. В этом примере показано, как использовать dstat для передачи информации о пропускной способности сети

Мониторинг сети Linux

Установка dstat в Ubuntu или Debian

sudo apt-get install dstat

collectl

Collectl сообщает системную статистику в стиле, подобном dstat, и, подобно dstat, собирает статистику о различных различных системных ресурсах, таких как процессор, память, сеть и т. Д. Ниже приведен простой пример того, как использовать его для отчета об использовании сети / пропускной способности .

Мониторинг сети Linux
Мониторинг сети Linux

Установка collectl в Ubuntu или Debian

sudo apt-get install collectl

Установка collectl в Fedora

sudo yum install collectl

Выводы

Как и говорили вначале, мы рассказали про несколько удобных команд, для того чтобы быстро проверить пропускную способность сети на вашем Linux-сервере. Однако им нужно, чтобы пользователь заходил на удаленный сервер через ssh. В качестве альтернативы для одной и той же задачи можно использовать веб-инструменты мониторинга.

Ntop и Darkstat — это одни из основных сетевых средств мониторинга сети, доступных для Linux. Помимо этого, инструменты мониторинга уровня предприятия, такие как Nagios, предоставляют множество функций, позволяющих не только контролировать сервер, но и всю инфраструктуру.

Если у вас остались какие-то вопросы по теме «Мониторинг сети Linux» то, пишите нам про них в форму комментариев на сайте. Спасибо за визит!

EnglishRussianUkrainian