- How to Check Linux Network Statistics from Command Line
- Prerequisites
- Check Linux Network Load Using Netstat and SS Commands
- Check Linux Network Resource Usage with Sar Command
- Утилиты командной строки Linux. Мониторинг загрузки сетевого интерфейса
- Секреты Linux: проверяем загруженности сети в реальном времени
- Nload и iftop: проверяем загруженности сети из командной строки Linux
How to Check Linux Network Statistics from Command Line
Network Load refers to the amount of data being transferred or received over a network. Since Linux distributions are very commonly used as servers, the network load on the server becomes a topic of prominence for Linux server admins or system admins.
Basically, it concerns how the bandwidth on the network is getting used; how many packets are being sent/received, and so on. Today, let’s find out how we can check network load on a Linux server.
Prerequisites
The commands explained in the article can be tried out on a desktop Linux machine as well. However, you can try these with a Linux server to really get a hold of it. You can try installing Apache or Nginx servers and hosting a sample website on them.
Check Linux Network Load Using Netstat and SS Commands
Netstat is a popular command for everything related to network analysis. It is not available in Linux distributions by default. While the development of netstat is now at a halt, it is replaced by the command ss, which is available by default in Ubuntu, CentOS, etc.
To install netstat, run the following on Debian and its derived distributions:
$ sudo apt install net-tools
On RedHat and its derived distributions, run:
To get the network load overview, you can call both netstat and ss with the flag -s . netstat gives the output in more depth, while ss gives a summary of the load.
This is a shortened output displayed in the screenshot below. The TCP section will also show a summary of connections and packet transfers for UDP.
Notice that it shows the packets by each protocol (TCP, UDP), and at the top shows the summary of connections; established, closed, etc.
Check Linux Network Resource Usage with Sar Command
Another command which is very handy not only for network administration but also for overall system administration is the sar command, which is used for finding any kind of resource usage.
To install sar command in Debian, Ubuntu or other derivatives use:
In RedHat, Fedora, and other derivatives, run:
After you have installed the command, run the following to enable the command to capture statistics.
$ sudo service sysstat restart
The syntax to display network traffic with sar is:
$ sar -n Protocol Interval Repetitions
Here, -n signifies that we are calling sar for network statistics and the ‘Protocol’ can be IP, TCP, UDP, DEV (which shows traffic for each network interface like Ethernet or Wifi), etc.
Check the load for other protocols such as TCP.
Conclusion
In this article, we described three commands that can be used to monitor and check the network load in Linux. Make sure you go through the command line man pages of these commands to learn in-depth about more options.
$ man netstat $ man ss $ man sar
Thanks for reading! Which tool do you prefer to use for checking the Linux network load? Do let us know in the comments below!
Утилиты командной строки Linux. Мониторинг загрузки сетевого интерфейса
Одна из задач по сопровождению операционных систем семейства Linux, это мониторинг сетевого трафика. В рамках данной статьи описываются наиболее популярные утилит, которые можно использовать для мониторинга загрузки сетевого интерфейса в оперативном режиме через SSH. Эти утилиты выполняют измерение потока трафика через каждый из сетевых интерфейсов и измеряют скорость с которой были переданы данные, причем входящий и исходящий трафик показывается раздельно.
Некоторые из приведенных команд позволяют просматривать использование сети отдельными процессами, это позволяет определить, какой из процессов загружает сетевой интерфейс.
- загруженность целиком интерфейса (динамическое отображение) — nload, bmon, bwm-ng
- загруженность целиком интерфейса (только вывод статистики) — vnstat, dstat, collectl
- использование сети для каждого соеденения (per socket) — iftop, iptraf, trafshow
- использование сети по процессам — nethogs
NLoad — утилита командной строки, которая позволяет выполнять мониторинг входящего и исходящего трафика отдельно, а также отрисовка масштабируемых графиков загрузки сетевого интерфеса.
Пример отображения:
Установка NLoad
# fedora or centos $ yum install nload # ubuntu/debian $ apt-get install nload
BMon — это утилита похожая на nload, которая показывает нагрузку на трафик по всем сетевым интерфейсам в системе. Выходные данные также состоят из графика и раздела с детализацией на уровне пакетов. Bmon поддерживает множество опций и способен создавать отчеты в формате html.
Пример запуска:
Пример отображения:
Установка BMon
# fedora or centos $ yum install bmon # ubuntu or debian $ apt-get install bmon
Bwm-ng другой очень простой монитор нагрузки сети в реальном времени который сообщает сводку скорости на которую данные переносятся в и из всех доступных сетевых интерфейсов на системе.
Если размер консоли достаточно велик, bwm-ng также может рисовать гистограммы для трафика, используя режим вывода curses 2.
Пример запуска:
Пример отображения:
Установка bwm-ng
# fedora or centos $ yum install bwm-ng # ubuntu or debian $ apt-get install bwm-ng
Vnstat немного отличается от большинства других инструментов. Он фактически запускает фоновую службу/демон и постоянно записывает размер передачи данных. Далее его можно использовать для формирования отчета об истории использования сети.
Запуск vnstat без каких-либо опций просто покажет общий объем передачи данных, который имел место с момента запуска демона.
Для мониторинга использования полосы пропускания в режиме реального времени используйте опцию ‘- l ‘ (live mode). Затем он будет показывать общую пропускную способность, используемую входящими и исходящими данными, но очень точно без каких-либо внутренних подробностей о соединениях хоста или процессах.
Vnstat больше похож на инструмент для получения исторических отчетов о том, сколько пропускной способности используется каждый день или за последний месяц. Это не только инструмент для мониторинга сети в реальном времени.
Пример запуска:
# Создание БД для сбора статистики интерфейса $ vnstat --create -i eth0 # запуск сервиса $ service vnstat start # Мониторинг в реальном времени $ vnstat -l -i eth0
Пример отображения:
Установка vnstat
# fedora or centos $ yum install vnstat # ubuntu or debian $ apt-get install vnstat
Секреты Linux: проверяем загруженности сети в реальном времени
Интернет медленно работает – виноваты вы или провайдер? Часто провайдеры пытаются списывать собственные косяки на конечных пользователей. Но, прежде чем начинать качать права, сперва убедимся что проблема не на нашей стороне.
Как правило, первая линия обороны техподдержки, в виде из девочек-роботов, проходится довольно легко — говоришь, что роутер и компьютер уже перезагружали и тебя переключают дальше. Если вы обнаружите проблемы со связью первыми из клиентов, то техподдержка провайдера пытается всеми силами убедить вас, что она на вашей стороне. Отчасти я с ними согласен, никогда нельзя сбрасывать со счетов вариант, что внутри локальной сети завёлся «насос», решивший скачать себе весь Интернет (все мы знаем таких любителей торрентов).
У многих современных роутеров имеется удобный графический мониторинг загруженности канала прямо в настройках.
Но как осуществить такую проверку, если раздачей Интернета занимается сервер на Linux или FreeBSD и к нему имеется только терминальный доступ без графической оболочки? На выручку придут консольные утилиты типа Nload или iftop.
Nload и iftop: проверяем загруженности сети из командной строки Linux
Данные инструменты позволяют в реальном времени узнать скорость входящего и исходящего трафика.
Nload — наверное самая простая в использовании программа, если вам нужно быстро взглянуть на общее использование полосы пропускания без подробностей отдельных процессов. Она весьма наглядная и не содержит множества опций. Пример использования nload:
Устанавливается также просто (выбирайте какой менеджер пакетов используется в вашем дистрибутиве Linux):
# yum install nload
# sudo apt-get install
Или установка из портов для FreeBSD:
# whereis nload
/usr/ports/net/nload/
# make install
Вторая утилита — iftop (Interface TOP). В отличие от nload, она измеряет данные, протекающие через отдельные соединения сокетов, используя библиотеку для захвата пакетов pcap. Данные сетевой активности обновляются в реальном времени.
iftop может фильтровать трафик и сообщать об использовании полосы пропускания по выбранным хост-соединениям. Подробнее о утилите и ключах запуска можно узнать из прилагаемой документации. Устанавливается аналогично nload.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.