Опубликовано Оставить комментарий

Утилиты командной строки Linux. Мониторинг загрузки сетевого интерфейса

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

Ниже перечислены команды, сгруппированные по своим функциональным особенностям:

  1. загруженность целиком интерфейса (динамическое отображение) – nload, bmon, bwm-ng
  2. загруженность целиком интерфейса (только вывод статистики) – vnstat, dstat, collectl
  3. использование сети для каждого соеденения (per socket) – iftop, iptraf, trafshow
  4. использование сети по процессам – nethogs

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

Пример запуска:

$ nload

Пример отображения:

userman.ru nload

Установка NLoad

# fedora or centos
$ yum install nload

# ubuntu/debian
$ apt-get install nload

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

$ bmon

Пример отображения:

userman.ru bmon

Установка BMon 

# fedora or centos
$ yum install bmon

# ubuntu or debian
$ apt-get install bmon

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

$ bwm-ng

Пример отображения:

userman.ru bwm-ng

Установка bwm-ng

# fedora or centos
$ yum install bwm-ng

# ubuntu or debian
$ apt-get install bwm-ng

vnstatVnstat немного отличается от большинства других инструментов. Он фактически запускает фоновую службу/демон и постоянно записывает размер передачи данных. Далее его можно использовать для формирования отчета об истории использования сети.
Запуск vnstat без каких-либо опций просто покажет общий объем передачи данных, который имел место с момента запуска демона.
Для мониторинга использования полосы пропускания в режиме реального времени используйте опцию ‘- l ‘ (live mode). Затем он будет показывать общую пропускную способность, используемую входящими и исходящими данными, но очень точно без каких-либо внутренних подробностей о соединениях хоста или процессах.

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

# Создание БД для сбора статистики интерфейса
$ vnstat --create -i eth0

# запуск сервиса
$ service vnstat start

# Мониторинг в реальном времени
$ vnstat -l -i eth0

Пример отображения:

userman.ru vnstat

Установка vnstat

# fedora or centos
$ yum install vnstat

# ubuntu or debian
$ apt-get install vnstat

dstatDstat -это универсальный инструмент (написанный на python), который может отслеживать различные системные статистические данные и сообщать о них в режиме пакетного стиля или записывать данные в csv или аналогичный файл.
Пример запуска:

$ dstat

Пример отображения:

userman.ru dstat

Установка dstat

# fedora or centos
$ yum install dstat

# ubuntu or debian
$ apt-get install dstat

collectlCollectl отчеты системы статистики в стиле Dstat, он также собирает статистику о различных системных ресурсов, таких как ЦП, память, сеть и т. д. Параметрами командной строки можно отфильтровать выводимые параметры, например: $ collectl -sn -oT -i0.5
Пример запуска:

$ collectl

Пример отображения:

userman.ru collectl

Установка Collectl

# fedora or centos
$ yum install collectl

# debian or ubuntu
$ apt-get install collectl

iftopIftop – утилита, которая измеряет поток данных через каждое socket соединение. В отличии от Nload, Iftop использует библиотеку pcap для захвата пакетов, перемещающихся в и из сетевого адаптера, а затем суммирует размер и количество, чтобы найти общую пропускную способность при использовании.
Пример запуска:

$ iftop

Пример отображения:

userman.ru iftop

Установка iftop

# fedora or centos
$ yum install iftop

# ubuntu or debian
$ apt-get install iftop

iptrafIptraf – интерактивный монитор сетевой загрузки, он показывает отдельные соединения и объем данных, передаваемых между хостами.
Пример запуска:

 $ iptraf-ng

Пример отображения:

userman.ru iptraf

Установка iptraf

# fedora or centos
$ yum install iptraf

# ubuntu or debian
$ apt-get install iptraf iptraf-ng

trafshowTrafshow – это утилита, которая в реальном времени отображает текущие активные соединения, протокол соединения и скорость передачи данных по каждому из соединений. Утилита также позволяет использовать фильтры.
Пример запуска:

$ trafshow -i eth0 tcp

Пример отображения:

userman.ru trafshow

Установка trafshow 

# fedora or centos
$ yum install trafshow 

# ubuntu or debian
$ apt-get install trafshow 

nethogsNetHogs – это небольшой инструмент “net top”, который показывает пропускную способность, используемую отдельными процессами, и сортирует список, помещая самые интенсивные процессы сверху. Методы сообщает PID, пользователя и путь к программе.
Пример запуска:

$ nethogs

Пример отображения:

userman.ru nethogs

Установка nethogs

# fedora or centos
$ yum install nethogs

# ubuntu or debian
$ apt-get install nethogs

Выше перечислены 10 удобных команд для быстрой проверки пропускной способности сети на сервере Linux. Однако они требуют, чтобы пользователь выполнил вход на удаленный сервер по ssh.
Помимо этого, существуют инструменты мониторинга корпоративного уровня, такие как SCOM, Zabbix или Nagios, которые предоставляют множество функций не только для мониторинга загрузки сетевого интерфейса сервера, но и всей инфраструктуры. Они позволяют смотреть исторические данные, в том числе всплески и провалы, но как правило имеют задержку в опросе сервера в несколько десятков секунд. Основное преимущество данных утилит командной строки – оперативный мониторинг вплоть до состояния соединений.

https://userman.ru/2018/11/28/page,2,utility-komandnoj-stroki-linux-monitoring-zagruzki-setevogo-interfejsa.html

Добавить комментарий