Сетевой мониторинг в Linux
В этом посту упоминаются некоторые инструменты командной строки linux, которые можно использовать для мониторинга использования сети.
Эти инструменты контролируют трафик, проходящий через сетевые интерфейсы, и измеряют скорость передачи данных.
Входящий и исходящий трафик показаны отдельно.
Некоторые из команд показывают пропускную способность, используемую отдельными процессами.
Это позволяет легко обнаружить процесс, который перекрывает пропускную способность сети.
У инструментов есть разные механизмы генерации отчета о трафике.
Некоторые из таких инструментов, как nload, читают файл «/ proc / net / dev», чтобы получить статистику трафика, тогда как некоторые инструменты используют библиотеку pcap для захвата всех пакетов, а затем вычисляют общий размер для оценки нагрузки на трафик.
Вот список команд, отсортированных по их функциям.
1. Nload
Nload – это инструмент командной строки, который позволяет пользователям контролировать входящий и исходящий трафик отдельно.
Простая в использовании и не поддерживает множество опций.
Поэтому, если вам просто нужно быстро взглянуть на общее использование полосы пропускания без подробностей отдельных процессов, тогда nload будет удобен.
Пример использования nload на Kali Linux:
Установка Nload – Fedora и Ubuntu получают его в репозитории по умолчанию.
Пользователи CentOS должны получать nload из репозиториев Epel.
fedora или centos
# yum install nload -y
ubuntu/debian
# sudo apt-get install nload
2. iftop
Iftop измеряет данные, протекающие через отдельные соединения сокетов, и работает таким образом, который отличается от Nload.
Iftop использует библиотеку pcap для захвата пакетов, перемещающихся на и от сетевого адаптера, а затем суммирует размер и подсчет, чтобы найти общую используемую пропускную способность.
Хотя iftop сообщает о пропускной способности, используемой отдельными подключениями, он не может сообщить имя / идентификатор процесса, участвующие в конкретном соединении сокетов.
Но, основываясь на библиотеке pcap, iftop может фильтровать трафик и сообщать об использовании полосы пропускания по выбранным хост-соединениям, как это определено фильтром.
# iftop -n
Параметр n запрещает iftop резолвить IP-адреса на имена хостов, что вызывает дополнительный сетевой трафик.
Установка iftop – пользователи Ubuntu / Debian / Fedora получают его из репозитория по умолчанию. Пользователи CentOS получают его от Epel.
fedora или centos
# yum install iftop -y
ubuntu или debian
# sudo apt-get install iftop
3. iptraf
Iptraf – это интерактивный и красочный монитор IP Lan.
Он показывает отдельные соединения и объем данных, передаваемых между хостами. Вот скриншот
Установка iptraf
Centos (base repo)
# yum install iptraf
fedora или centos (with epel)
# yum install iptraf-ng -y
ubuntu или debian
# sudo apt-get install iptraf iptraf-ng
4. nethogs
Nethogs – это небольшой инструмент «net top», который показывает полосу пропускания, используемую отдельными процессами, и сортирует список, в котором наиболее интенсивные процессы показанысверху.
В случае внезапного всплеска пропускной способности, быстро откройте nethogs и найдите ответственный процесс.
Nethogs сообщает PID, пользователю и пути к программе.
5. bmon
Bmon (Bandwidth Monitor) – это инструмент, подобный nload, который показывает нагрузку на все сетевые интерфейсы в системе. Результат также состоит из графика и раздела с деталями уровня пакета.
Установка Bmon – пользователи Ubuntu, Debian и Fedora могут установить из репозитория по умолчанию.
Пользователям CentOS необходимо настроить repoforge, поскольку он недоступен в Epel
ubuntu или debian
# sudo apt-get install bmon
fedora или centos (от repoforge)
# sudo yum install bmon
6. slurm
Slurm – это еще один монитор сетевой нагрузки, который показывает статистику устройства вместе с графиком ascii.
Он поддерживает 3 разных стиля графиков, каждый из которых может быть активирован с помощью клавиш c, s и l.
Простая в функциях, slurm не показывает никаких дополнительных сведений о сетевой нагрузке.
Установка slurm
# debian или ubuntu
# sudo apt-get install slurm
# fedora или centos
# sudo yum install slurm -y
7. tcptrack
Tcptrack похож на iftop и использует библиотеку pcap для захвата пакетов и вычисления различных статистических данных, таких как пропускная способность, используемая в каждом соединении.
Он также поддерживает стандартные фильтры pcap, которые могут использоваться для контроля определенных соединений.
Установка tcptrack – Ubuntu, Debian и Fedora используют его в репозиториях по умолчанию.
Пользователи CentOS должны получить его от RepoForge, поскольку он также не доступен в Epel.
ubuntu, debian
# sudo apt-get install tcptrack
fedora, centos
# sudo yum install tcptrack
8. Vnstat
Vnstat немного отличается от большинства других инструментов.
Он фактически запускает фоновый сервис / демон и постоянно фиксирует размер передачи данных.
Затем его можно использовать для создания отчета об истории использования сети.
# service vnstat status * vnStat daemon is running
Запуск vnstat без каких-либо опций просто покажет общий объем передачи данных, который произошел с момента запуска демона.
Установить vnstat
ubuntu или debian
# sudo apt-get install vnstat
fedora или centos (от epel)
# sudo yum install vnstat
9. bwm-ng
# 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 – на CentOS bwm-ng можно установить с Epel.
ubuntu или debian
# sudo apt-get install bwm-ng</span>
fedora или centos (от epel)
# sudo apt-get install bwm-ng
10. cbm – Color Bandwidth Meter
Небольшой простой монитор пропускной способности, отображающий объем трафика через сетевые интерфейсы. Никаких дополнительных параметров, только статистика трафика отображается и обновляется в реальном времени.
# sudo apt-get install cbm
11. speedometer
Еще один маленький и простой инструмент, который просто рисует привлекательные графики входящего и исходящего трафика через данный интерфейс.
# speedometer -r eth0 -t eth0
Установить спидометр
ubuntu или для пользователей debian
# sudo apt-get install speedometer
12. Pktstat
Pktstat отображает все активные соединения в режиме реального времени и скорость передачи данных через них. Он также отображает тип соединения, т. Е. Tcp или udp, а также информацию о HTTP-запросах, если они задействованы.
# sudo pktstat -i eth0 -nt
# sudo apt-get install pktstat
13. Netwatch
Netwatch является частью набора инструментов netdiag, а также отображает соединения между локальным хостом и другими удаленными хостами и скорость передачи данных по каждому соединению.
# sudo netwatch -e eth0 -nt
# sudo apt-get install netdiag
14. Trafshow
Как и netwatch и pktstat, trafshow сообщает о текущих активных соединениях, их протоколе и скорости передачи данных для каждого соединения.
Он может отфильтровывать соединения, используя фильтры типа pcap.
Мониторинг только подключений tcp
# sudo trafshow -i eth0 tcp
Установка trafshow
# sudo apt-get install netdiag
15. Netload
Команда netload просто отображает небольшой отчет о текущей нагрузке на трафик и общее количество байт, переданных с момента запуска программы.
Больше нет функций. Это часть netdiag.
# netload eth0
# sudo apt-get install netdiag
16. ifstat
Ifstat сообщает о пропускной способности сети.
Вывод находится в формате, который легко записывать и анализировать с помощью других программ или утилит.
# ifstat -t -i eth0 0.5 Time eth0 HH:MM:SS KB/s in KB/s out 09:59:21 2.62 2.80 09:59:22 2.10 1.78 09:59:22 2.67 1.84 09:59:23 2.06 1.98 09:59:23 1.73 1.79
Установить ifstat – пользователи Ubuntu, Debian и Fedora имеют его в репозиториях по умолчанию.
Пользователи CentOS должны получить его от Repoforge, так как его нет в Epel.
ubuntu, debian
# sudo apt-get install ifstat
fedora, centos (Repoforge)
# sudo yum install ifstat
17. dstat
Dstat – это универсальный инструмент (написанный на языке python), который может отслеживать различные статистические данные системы и сообщать о них в режиме пакетнов или записывать данные в файл csv или аналогичный файл.
В этом примере показано, как использовать dstat для сообщения пропускной способности сети
# dstat -nt -net/total- ----system---- recv send| time 0 0 |23-03 10:27:13 1738B 1810B|23-03 10:27:14 2937B 2610B|23-03 10:27:15 2319B 2232B|23-03 10:27:16 2738B 2508B|23-03 10:27:17
Установка dstat
# sudo apt-get install dstat
18. collectl
Collectl сообщает системную статистику в стиле, подобном dstat, и, подобно dstat, он собирает статистику о различных системных ресурсах, таких как CPU, память, сеть и т. д.
Вот здесь простой пример того, как использовать его для отчета об использовании сети / пропускной способности
# collectl -sn -oT -i0.5 waiting for 0.5 second sample... # <----------Network----------> #Time KBIn PktIn KBOut PktOut 10:32:01 40 58 43 66 10:32:01 27 58 3 32 10:32:02 3 28 9 44 10:32:02 5 42 96 96 10:32:03 5 48 3 28
Установка collectl
Ubuntu/Debian users
# sudo apt-get install collectl
Fedora
# sudo yum install collectl
Заключение
Это были несколько удобных команд для быстрой проверки пропускной способности сети на вашем Linux-сервере.
Однако им необходимо, чтобы пользователь заходил на удаленный сервер через ssh.
В качестве альтернативы можно также использовать веб-инструменты мониторинга для одной и той же задачи.
Ntop и Darkstat – некоторые из основных сетевых средств мониторинга сети, доступных для Linux.
Помимо этого, это инструменты мониторинга уровня предприятия, такие как Nagios, которые предоставляют множество функций, чтобы не просто контролировать сервер, а всю инфраструктуру.