- Мониторинг сети Linux
- Мониторинг сети Linux
- Nload
- iftop
- iptraf
- Nethogs
- Slurm
- Tcptrack
- Vnstat
- bwm-ng
- speedometer
- Pktstat
- Netwatch
- Trafshow
- Netload
- ifstat
- dstat
- collectl
- Выводы
- Мониторинг трафика
- Содержание
- Мониторинг в реальном времени
- Журналирование активности средствами iptables
- Утилиты Vnstat и Vnstati
- Netflow — мониторинг с ведением статистики
- Сенсор fprobe
- Автозапуск при перезапуске сети
- Несколько демонов fprobe на одном компьютере
- Коллектор Nfdump и визуализатор данных Nfsen
Мониторинг сети Linux
В этой статье мы поговорим про некоторые инструменты командной строки Linux, которые можно использовать для мониторинга использования сети. Мониторинг сети Linux осуществляется множеством способов. Эти инструменты контролируют трафик, проходящий через сетевые интерфейсы, и измеряют скорость, с которой в настоящее время передаются данные. Входящий и исходящий трафик отображается отдельно.
В некоторых командах показана пропускная способность, используемая отдельными процессами. Это упрощает обнаружение процесса, который перегружает пропускную способность сети.
Инструменты имеют разные механизмы формирования отчета о трафике. Некоторые из инструментов, таких как nload, читают файл «/ proc / net / dev» для получения статистики трафика, тогда как некоторые инструменты используют библиотеку pcap для захвата всех пакетов, а затем вычисляют общий размер для оценки нагрузки трафика.
Мониторинг сети Linux
Ниже приведен список команд, отсортированных по их функциям.
- Общая пропускная способность — nload, bmon, slurm, bwm-ng, cbm, спидометр, netload
- Общая пропускная способность (выход пакетного стиля) — vnstat, ifstat, dstat, collectl
- Ширина полосы пропускания для каждого сокета — iftop, iptraf, tcptrack, pktstat, netwatch, trafshow
- Пропускная способность для каждого процесса — nethogs
Nload
Nload — это инструмент командной строки, который позволяет пользователям контролировать входящий и исходящий трафик отдельно. Он также выводит график, указывающий то же самое, масштаб которого можно отрегулировать. Прост в использовании и не поддерживает множество опций.
Поэтому, если вам просто нужно быстро взглянуть на использование общей пропускной способности без подробностей отдельных процессов, то достаточно будет ввести nload в терминал.
Чтобы выйти мониторинга сети, достаточно нажать клавишу Q
Установить nload в Debian или Ubuntu можно из репозиториев по-умолчанию:
Пользователи CentOS или Fedora могут установить nload командой:
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel
А затем ввести команду установки nload заново.
iftop
Мониторинг сети Linux является довольно легким в освоении. Для этого существует огромное количество вариантов. Вы можете выбрать самый удобный для вас. Iftop измеряет данные, проходящие через отдельные соединения сокетов, и работает таким образом, который отличается от Nload. Iftop использует библиотеку pcap для захвата пакетов, перемещающихся в и из сетевого адаптера, а затем суммирует размер и количество, чтобы найти общую используемую ширину полосы пропускания.
Несмотря на то, что iftop сообщает пропускную способность, используемую отдельными соединениями, он не может сообщить имя / идентификатор процесса, участвующего в конкретном подключении сокета. Но, основываясь на библиотеке pcap, iftop может фильтровать трафик и использовать пропускную способность для передачи по выбранным узловым соединениям, как это определено фильтром.
Опция n не позволяет iptop отыскивать IP-адреса на имя хоста, что вызывает дополнительный сетевой трафик.
Установить iftop в Debian или Ubuntu можно из репозиториев по-умолчанию.
Пользователи CentOS или Fedora могут установить iftop командой:
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить Epel
А затем ввести команду установки iftop заново.
iptraf
Iptraf — это интерактивный и красочный монитор IP Lan. Он показывает индивидуальные соединения и объем данных, передаваемых между хостами. Вот скриншот
Установка iptraf в Ubuntu или Debian:
Установка iptraf в CentOS или Fedora
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel
А затем ввести команду установки iptraf заново.
Nethogs
Nethogs — это небольшой инструмент «net top», который показывает пропускную способность, используемую отдельными процессами, и сортирует список, в котором самые интенсивные процессы находятся сверху. В случае внезапного скачка полосы пропускания быстро открывайте nethogs и найдите ответственный за процесс. Nethogs сообщает PID, пользователя и путь программы.
Установка nethogs в Ubuntu или Debian:
Установка nethogs в CentOS или Fedora
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel
А затем ввести команду установки nethogs заново.
Bmon (Bandwidth Monitor) — это инструмент, аналогичный nload, который показывает нагрузку на трафик по всем сетевым интерфейсам в системе. Вывод также состоит из графика и раздела с деталями уровня пакета. Bmon поддерживает множество опций и способен создавать отчеты в формате html.
Монитор сети bmon linux
Установка bmon в Ubuntu или Debian:
Установка bmon в Fedora
Slurm
Slurm является еще одним монитором сетевой нагрузки, который показывает статистику устройства вместе с графиком ascii. Он поддерживает 3 разных стиля графиков, каждый из которых может быть активирован с помощью клавиш c, s и l. Простой в функциях, slurm не отображает никаких дополнительных сведений о сетевой нагрузке.
Установить slurm в Debian или Ubuntu
Установить slurm в Fedora или CentOS
Tcptrack
Tcptrack похож на iftop и использует библиотеку pcap для захвата пакетов и вычисления различной статистики, такой как пропускная способность, используемая в каждом соединении. Он также поддерживает стандартные фильтры pcap, которые можно использовать для контроля определенных соединений.
Установка tcptrack в Ubuntu или Debian:
Установка tcptrack в Fedora
Vnstat
Vnstat немного отличается от большинства других инструментов где Мониторинг сети Linux является основой. На самом деле он запускает фоновый сервис / daemon и постоянно фиксирует размер передачи данных. Кроме того, его можно использовать для создания отчета об истории использования сети.
Запуск vnstat без каких-либо параметров просто покажет общий объем передачи данных, который произошел с момента запуска демона.
Чтобы отслеживать использование полосы пропускания в реальном времени, используйте параметр «-l» (режим «вживую»). Затем она покажет общую пропускную способность, используемую входящими и исходящими данными, но очень точным образом, без каких-либо внутренних сведений о хостах или процессах.
Vnstat больше походит на инструмент для получения исторических отчетов о том, как много трафика используется каждый день или в течение последнего месяца. Это не строго инструмент для мониторинга сети в реальном времени.
Vnstat поддерживает множество опций, подробности о которых можно найти на странице руководства.
Установить vnstat в Debian или Ubuntu
Установить vnstat в Fedora или CentOS
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel
А затем ввести команду установки vnstat заново.
bwm-ng
Bwm-ng (Bandwidth Monitor Next Generation) является еще одним очень простым монитором сетевой нагрузки в режиме реального времени, который сообщает сводную информацию о скорости передачи данных и из всех доступных сетевых интерфейсов в системе.
Если размер консоли достаточно велик, bwm-ng также может отображать гистограммы для трафика, используя режим вывода curses2.
Установка bwm-ng в Ubuntu или Debian
Установка bwm-ng в Fedora или CentOS
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel
А затем ввести команду установки bwm-ng заново.
Небольшой простой монитор пропускной способности, отображающий объем трафика через сетевые интерфейсы. Нет дополнительных параметров, просто статистика трафика отображается и обновляется в реальном времени.
Установка cbm в Ubuntu или Debian
Установка cbm в Fedora или CentOS
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel
А затем ввести команду установки cbm заново.
speedometer
Еще один маленький и простой инструмент, который мы должны были добавить в статью про Мониторинг сети Linux, который просто рисует красиво выглядящие графики входящего и исходящего трафика через данный интерфейс.
Установка speedometer в Ubuntu или Debian
Pktstat
Pktstat отображает все активные соединения в реальном времени и скорость, с которой данные передаются через них. Он также отображает тип соединения, т. Е. Tcp или udp, а также информацию о HTTP-запросах, если они задействованы.
Установка speedometer в Ubuntu или Debian
Netwatch
Netwatch является частью коллекции инструментов netdiag, и она также отображает соединения между локальным хостом и другими удаленными узлами и скорость передачи данных по каждому соединению.
Установка netwatch в Ubuntu или Debian (является частью netdiag)
Trafshow
Как и netwatch и pktstat, trafshow сообщает о текущих активных соединениях, их протоколе и скорости передачи данных в каждом соединении. Он может отфильтровывать соединения, используя фильтры типа pcap.
Кстати, если говорить про Мониторинг сети Linux то здесь можно отметить также и этот способ. Trafshow является таким же удобным как и его аналоги.
Мониторинг только соединений TCP
Установка trafshow в Ubuntu или Debian (является частью netdiag)
Установка trafshow в Fedora или Centos
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить epel
А затем ввести команду установки trafshow заново.
Netload
Команда netload просто отображает небольшой отчет о текущей нагрузке на трафик и общее количество байтов, переданных с момента запуска программы. Нет больше функций. Его часть netdiag.
Установка netload в Ubuntu или Debian (является частью netdiag)
ifstat
Ifstat сообщает о пропускной способности сети в режиме пакетного стиля. Выходной файл находится в формате, который легко регистрируется и анализируется с помощью других программ или утилит.
Установка ifstat в Ubuntu или Debian
Установка ifstat в Fedora
Установка ifstat в CentOS. Необходимо сначала подключить RepoForge. Инструкцию можно увидеть здесь. Затем ввести:
dstat
Dstat — это универсальный инструмент (написанный на python), который может отслеживать различные системные статистики и сообщать о них в режиме пакетного стиля или записывать данные в файл csv или аналогичный файл. В этом примере показано, как использовать dstat для передачи информации о пропускной способности сети
Установка dstat в Ubuntu или Debian
collectl
Collectl сообщает системную статистику в стиле, подобном dstat, и, подобно dstat, собирает статистику о различных различных системных ресурсах, таких как процессор, память, сеть и т. Д. Ниже приведен простой пример того, как использовать его для отчета об использовании сети / пропускной способности .
Установка collectl в Ubuntu или Debian
Установка collectl в Fedora
Выводы
Как и говорили вначале, мы рассказали про несколько удобных команд, для того чтобы быстро проверить пропускную способность сети на вашем Linux-сервере. Однако им нужно, чтобы пользователь заходил на удаленный сервер через ssh. В качестве альтернативы для одной и той же задачи можно использовать веб-инструменты мониторинга.
Ntop и Darkstat — это одни из основных сетевых средств мониторинга сети, доступных для Linux. Помимо этого, инструменты мониторинга уровня предприятия, такие как Nagios, предоставляют множество функций, позволяющих не только контролировать сервер, но и всю инфраструктуру.
Если у вас остались какие-то вопросы по теме «Мониторинг сети Linux» то, пишите нам про них в форму комментариев на сайте. Спасибо за визит!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Мониторинг трафика
Содержание
В этой статье собраны способы мониторинга трафика, проходящего через сервер. Чаще всего задача мониторинга встаёт для роутеров, обеспечивающих связь с интернетом.
Мониторинг в реальном времени
Для мониторинга трафика в реальном времени можно использовать утилиту jnettop :
Или, как вариант, vnstat с ключом –live :
Можно также воспользоваться достаточно удобной утилитой с псевдографическим интерфейсом, которая называется iptraf :
Журналирование активности средствами iptables
Стандартный пакетный фильтр iptables иногда может быть очень полезен для анализа какого-то конкретного типа трафика. iptables позволяет записывать в системный журнал активность по выбранным критериям. Например, с помощью iptables можно легко отследить, какой компьютер посылает данные во внешнюю сеть по 25 порту (SMTP ), таким образом вычислив заражённый компьютер в локальной сети.
Для записи данных в файл журнала предназначено действие LOG (и более мощное ULOG ). Подробный его синтаксис и возможные параметры можно посмотреть в документации по iptables .
Важным аспектом является то, что iptables сам не ведёт файлы журналов. Вместо этого действие LOG отправляет информацию системному демону журналирования, и уже он записывает её в журнал, коим чаще всего является /var/log/syslog . В итоге получается каша, в которой очень непросто разобраться. Поскольку iptables сам не занимается ведением журнала, то перенаправить запись в отдельный файл средствами самого iptables невозможно.
К счастью, в Ubuntu существует простой способ рассортировать данные по нужным журналам средствами используемой системы журналирования rsyslog . Достаточно при записи в журнал добавлять некий уникальный префикс. Например, вот так:
Теперь все записи в журнале, соответствующие этому критерию, будут начинаться с «iptables: ». Осталось добавить правило сортировки в систему журналирования. Для этого можно создать файл /etc/rsyslog.d/10-iptables.conf со следующим содержанием:
Вторая строчка означает, что дальнейшую работу с этой записью производить не надо, т.е. она не должна попадать в другие журналы.
После создания нового файла конфигурации не забудьте переконфигурировать rsyslog :
Теперь вся активность, соответствующая добавленному правилу iptables, будет записываться в файл /var/log/iptables.log . Если вы хотите надолго оставить журналирование, то не забудьте добавить этот файл в систему ротации логов logrotate , а то в какой-то момент у вас может закончиться место на диске.
Подробней про управление записью журнала можно почитать в документации по rsyslog.
Утилиты Vnstat и Vnstati
Vnstat это очень простой инструмент для учёта трафика. Он есть в репозиториях Ubuntu, так что установка не вызывает сложностей. Vnstat не требует тонкой настройки, просто считает трафик и позволяет просматривать статистику. Для обычного пользователя этого чаще всего более чем достаточно.
Чтобы начать подсчёт трафика надо выполнить команду, которая создаст базу данных для указанного интерфейса:
Подсчёт трафика происходит автоматически, база данных обновляется при выключении сетевого устройства. Но есть возможность обновить базу вручную:
Для просмотра статистики достаточно просто ввести:
Также можно использовать ключи:
Vnstati это утилита для визуализации статистики, с ней тоже все просто. Вот, например, короткий скрипт, который выводит на экран статистику в виде картинки:
Обе утилиты имеют еще некоторые возможности, не забывайте про ключ —help и утилиту man!
Netflow — мониторинг с ведением статистики
Для мониторинга с ведением статистики одним из популярных решений является технология Netflow.
Для сбора статистики с помощью Netflow необходимо на нужные интерфейсы повесить специальные Netflow-сенсоры, которые будут собирать информацию и передавать Netflow-коллектору, который может располагаться на другой машине.
Информацию, собранную коллектором, можно визуализировать с помощью графического фронтенда, или же анализировать с помощью утилит командной строки.
В качестве сенсоров можно использовать доступные в стандартных репозиториях fprobe или softflowd .
Сенсор fprobe
Для установки сенсора fprobe можно, например, выполнить такую команду:
Установщик спросит, на каком интерфейсе слушать трафик, и куда передавать собранную статистику — введите нужные вам параметры и fprobe начнёт работать. Например, для Nfsen в примере ниже нужно указать порт 9995.
Автозапуск при перезапуске сети
Демон fprobe всегда аварийно завершается, когда интерфейс, к которому он привязан, выключается (переходит в состояние DOWN). И не запускается автоматически снова, когда интерфейс возобновляет работу.
Если вам по каким-то причинам нужно периодически переключать интерфейсы, то чтобы обойти данную проблему fprobe можно в файл /etc/network/interfaces после описания интерфейса добавить строчки
Например, могло бы получится нечто похожее на:
Теперь при использовании утилит, которые перечитывают этот файл ( ifup и ifdown ), fprobe будет корректно завершаться и автоматически запускаться при переключении состояния интерфейса. При этом при старте системы fprobe будет пытаться запуститься два раза (один раз стандартным способом, другой — через /etc/network/interfaces ), и хотя у него это не получится, но всё же для порядка лучше автозапуск системного демона fprobe убрать:
Несколько демонов fprobe на одном компьютере
Если вы хотите запустить на одном компьютере сразу несколько демонов fprobe (чтобы слушать несколько интерфейсов), то придётся немного изменить стартовые скрипты.
Для начала отредактируйте имеющийся стартовый скрипт /etc/init.d/fprobe , заменив в нём строчку
И, кроме этого, строчку
Первое число добавленного параметра запуска -l («1») говорит fprobe использовать syslog для журналирования, а второе является идентификатором процесса. Именно второе число и нужно менять при запуске нескольких копий fprobe , и оно же должно стоять в квадратных скобочках в параметре NAME соответствующего стартового скрипта.
Теперь, чтобы создать все необходимые параметры и скрипты для запуска второй копии fprobe , скопируйте /etc/init.d/fprobe в /etc/init.d/fprobe_1 :
И /etc/default/fprobe в /etc/default/fprobe_1 :
Отредактируйте /etc/default/fprobe_1 для работы со вторым интерфейсом.
Теперь надо отредактировать стартовый скрипт /etc/init.d/fprobe_1 для второго процесса fprobe . Замените числа в параметре NAME и DAEMON_OPTS на нужные:
Кроме этого, измените код загрузки конфигурационного файла таким образом, чтобы он обращался к файлу fprobe_1. Вместо примерно следующего:
должно получится что-то вроде:
Также в новых версиях Ubuntu в начале этого файла содержится специальный комментарий для системы загрузки. Он начинается со строчки
В этом комментарии также необходимо заменить строчку
Убедитесь, что всё работает, как надо. Для этого запустите оба fprobe , потом загляните в любой менеджер процессов (например, htop ) и найдите там оба демона.
Если всё нормально, то добавьте второй демон fprobe в автозагрузку командой
Конечно, если вы пропишете запуск второго демона fprobe в /etc/network/interfaces , то добавлять его в автозагрузку не стоит.
Таким образом можно запустить сколько угодно демонов fprobe , просто меняя идентификатор.
Коллектор Nfdump и визуализатор данных Nfsen
Nfdump и Nfsen — это коллектор с сопутствующими утилитами и веб-интерфейс визуализации собранных данных. Nfdump доступен в стандартных репозиториях Ubuntu, а Nfsen можно скачать с официального сайта http://nfsen.sourceforge.net/. Там же можно посмотреть скриншоты, чтобы составить представление о том, что такое Nfsen.
В качестве сенсора для этой связки можно использовать любой доступный, например fprobe или softflowd .
Nfdump можно поставить через любой пакетный менеджер, например, командой
Nfsen необходимо распаковать куда-нибудь на сервер из архива с исходными текстами и выполнить несколько несложных операций. Для начала необходимо поставить все нужные для работы пакеты:
После этого зайти в папку etc/ в директории, куда вы распаковали Nfsen, и переименовать находящийся там файл nfsen-dist.conf в nfsen.conf . Это основной конфигурационный файл Nfsen. Его необходимо отредактировать под ваши нужды. Ниже приведены только опции, которые нужно изменить для базовой конфигурации Nfsen:
Подробную документацию по доступным возможностям можно почитать на официальном сайте Nfsen.
После редактирования конфига можно установить Nfsen. Для этого достаточно из директории, куда вы его распаковали, выполнить команду
Всё, что осталось, это запустить Nfsen. В примере выше в качестве директории для установки Nfsen указан путь /srv/nfsen/. В этом случае для запуска можно использовать команду
Чтобы интегрировать Nfsen в систему качестве автоматически запускаемого сервиса выполните две примерно такие команды:
Теперь, если вы оставили настройки веб-сервера по умолчанию, веб-интерфейс должен быть доступен по адресу http://yourserver/nfsen/nfsen.php.
Для мониторинга скорости соединения и трафика можно также использовать стандартный апплет панели cairo-dock — netspeed и популярное средство системного мониторинга conky.
Источник