Обзор Бесплатных Биллинг систем на Linux. Подключение к сетям (ЛВС и Интернет), настройка сетевых протоколов Мониторинг сети с помощью iptraf

Программа под Linux для построения графиков на основе статистики по трафику. Требует: PHP, MySQL, web-сервер. Лицензия: GPL.

  • Big Brother
  • Утилита, показывающая загруженность сетевого интерфейса в виде маленького окошка для трея.
  • Cachalot System Система учета трафика, времени работы пользователей. Кроссплатформенна (реализована на Java). Идеальна для интернет-кафе и небольших ISP.
  • Универсальный конвертер статистики. Позволяет собирать статистику по трафику с маршрутизаторов и экспортировать её по протоколу Cisco NetFlow v5. Лицензия: GPL.
  • grafist Утилита мониторинга утилизации ширины пропускаемого канала. Каждые 15 секунд смотрит в /proc/net/dev и записывает данные в 4 файла. Затем с помощью gd рисует график.
  • ifmonitor Программа для подсчета трафика. Работает с MySQL и не зависит от SNMP. Использует syslog для сохранения логов.
  • Монитор трафика на основе libpcap.
  • Ipac Пакет под Linux для сбора, суммирования и представления данных о количестве и размере пакетов протокола TCP/IP, прошедших через какой-либо интерфейс.
  • Ipacc Патч к ядру FreeBSD для учета трафика. Данные выдаются в виде ""src_ip, dest_ip, число пакетов, трафик"". Все взаимодействие производится через устройство /dev/ipacc или утилиту ipacc.
  • IPStat Программа для учета IP-трафика с web-интерфейсом Java Servlet/JSP. Собирает, суммирует и показывает данные по IP-трафику, вся база данных хранится в MySQL. Поддерживает ipchains/iptables. Лицензия: GPL.
  • macwatch Программа для подсчета входящего и исходящего трафика для указанного MAC-адреса и сохранения его в файле для использования с MRTG.
  • MRTG (Multi Router Traffic Grapher) Утилита, генерирующая HTML-страницы с PNG рисунками, показывающими загрузку сети.
  • Коллектор статистики для сбора информации по трафику с интерфейсов PC-маршрутизатора и экспорта ее в формате Cisco NetFlow v.5. Платформы: Linux, *BSD, Mac OS X, Windows. Лицензия: GPL.
  • NiTraf Простое и надёжное решение для подсчета трафика, именно то, что необходимо многим начинающим и не очень администраторам. Среди возможностей программы - поддержка квот по трафику, различные типы отчетов, уведомление администратора по e-mail. Лицензия GPL.
  • NuFW Демоны, позволяющие фильтровать пакеты в зависимости от удаленного пользователя. Лицензия: GPL.
  • Packit Сетевая утилита, предоставляющая полный контроль над трафиком IPv4. Полезна для тестирования firewall"ов и общего TCP/IP аудитинга. Основана на libnet и libpcap.
  • Ppplogd Набор скриптов для занесения данных о потреблении услуг доступа по коммутируемым линиям (dial-up). Данные обо всех соединениях сохраняются в базу данных MySQL. Программа предназначена для ведения отчетов потребления услуг.
  • (full Squid traffic)
  • TiTo Утилита для измерения трафика с указанных IP. Обладает web-интерфейсом, рисует графики, поддерживает скины. Лицензия: Freeware.
  • В этой статье собраны способы мониторинга трафика, проходящего через сервер. Чаще всего задача мониторинга встаёт для роутеров, обеспечивающих связь с интернетом.

    Мониторинг в реальном времени

    Для мониторинга трафика в реальном времени можно использовать утилиту jnettop:

    sudo jnettop

    Или, как вариант, vnstat с ключом –live:

    sudo vnstat --live

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

    sudo iptraf

    Журналирование активности средствами iptables

    Стандартный пакетный фильтр iptables иногда может быть очень полезен для анализа какого-то конкретного типа трафика. iptables позволяет записывать в системный журнал активность по выбранным критериям. Например, с помощью iptables можно легко отследить, какой компьютер посылает данные во внешнюю сеть по 25 порту (SMTP), таким образом вычислив заражённый компьютер в локальной сети.

    Для записи данных в файл журнала предназначено действие LOG (и более мощное ULOG). Подробный его синтаксис и возможные параметры можно посмотреть в документации по iptables .

    Важным аспектом является то, что iptables сам не ведёт файлы журналов. Вместо этого действие LOG отправляет информацию системному демону журналирования, и уже он записывает её в журнал, коим чаще всего является /var/log/syslog . В итоге получается каша, в которой очень непросто разобраться. Поскольку iptables сам не занимается ведением журнала, то перенаправить запись в отдельный файл средствами самого iptables невозможно.

    К счастью, в Ubuntu существует простой способ рассортировать данные по нужным журналам средствами используемой системы журналирования rsyslog . Достаточно при записи в журнал добавлять некий уникальный префикс. Например, вот так:

    sudo iptables -t filter -A FORWARD -s 192.168.0.0/ 16 -m tcp -p tcp --dport 25 -j LOG --log-prefix "iptables: "

    Теперь все записи в журнале, соответствующие этому критерию, будут начинаться с «iptables: ». Осталось добавить правило сортировки в систему журналирования. Для этого можно создать файл /etc/rsyslog.d/10-iptables.conf со следующим содержанием:

    :msg, contains, "iptables: " -/var/log/iptables.log & ~

    Вторая строчка означает, что дальнейшую работу с этой записью производить не надо, т.е. она не должна попадать в другие журналы.

    После создания нового файла конфигурации не забудьте переконфигурировать rsyslog:

    sudo / etc/ init.d/ rsyslog reload

    Теперь вся активность, соответствующая добавленному правилу iptables, будет записываться в файл /var/log/iptables.log . Если вы хотите надолго оставить журналирование, то не забудьте добавить этот файл в систему ротации логов logrotate , а то в какой-то момент у вас может закончиться место на диске.

    Подробней про управление записью журнала можно почитать в документации по rsyslog.

    Утилиты Vnstat и Vnstati

    Vnstat это очень простой инструмент для учёта трафика. Он есть в репозиториях Ubuntu, так что установка не вызывает сложностей. Vnstat не требует тонкой настройки, просто считает трафик и позволяет просматривать статистику. Для обычного пользователя этого чаще всего более чем достаточно.

    Чтобы начать подсчёт трафика надо выполнить команду, которая создаст базу данных для указанного интерфейса:

    sudo vnstat -u -i eth0

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

    sudo vnstat -u

    Для просмотра статистики достаточно просто ввести:

    Также можно использовать ключи:

    H, --hours по часам -d, --days за день -m, --months за месяц -w, --weeks за неделю -t, --top10 top10 -s, --short короткий вывод -l, --live мониторинг в реальном времени

    Vnstati это утилита для визуализации статистики, с ней тоже все просто. Вот, например, короткий скрипт, который выводит на экран статистику в виде картинки:

    #! /bin/bash vnstat -u vnstati -vs -o ~/ vnstati.png eog ~/ vnstati.png

    Обе утилиты имеют еще некоторые возможности, не забывайте про ключ --help и утилиту man!

    Netflow - мониторинг с ведением статистики

    Для мониторинга с ведением статистики одним из популярных решений является технология Netflow .

    Для сбора статистики с помощью Netflow необходимо на нужные интерфейсы повесить специальные Netflow-сенсоры, которые будут собирать информацию и передавать Netflow-коллектору, который может располагаться на другой машине.

    Информацию, собранную коллектором, можно визуализировать с помощью графического фронтенда, или же анализировать с помощью утилит командной строки.

    В качестве сенсоров можно использовать доступные в стандартных репозиториях fprobe или softflowd .

    Сенсор fprobe

    Для установки сенсора fprobe можно, например, выполнить такую команду:

    sudo apt-get install fprobe

    Установщик спросит, на каком интерфейсе слушать трафик, и куда передавать собранную статистику - введите нужные вам параметры и fprobe начнёт работать. Например, для Nfsen в примере ниже нужно указать порт 9995.

    Автозапуск при перезапуске сети

    Демон fprobe всегда аварийно завершается, когда интерфейс, к которому он привязан, выключается (переходит в состояние DOWN). И не запускается автоматически снова, когда интерфейс возобновляет работу.

    Если вам по каким-то причинам нужно периодически переключать интерфейсы, то чтобы обойти данную проблему fprobe можно в файл /etc/network/interfaces после описания интерфейса добавить строчки

    Up service fprobe start down service fprobe stop

    Например, могло бы получится нечто похожее на:

    Allow-hotplug eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 # fprobe up service fprobe start down service fprobe stop

    Теперь при использовании утилит, которые перечитывают этот файл (ifup и ifdown), fprobe будет корректно завершаться и автоматически запускаться при переключении состояния интерфейса. При этом при старте системы fprobe будет пытаться запуститься два раза (один раз стандартным способом, другой - через /etc/network/interfaces), и хотя у него это не получится, но всё же для порядка лучше автозапуск системного демона fprobe убрать:

    sudo update-rc.d -f fprobe remove

    Несколько демонов fprobe на одном компьютере

    Если вы хотите запустить на одном компьютере сразу несколько демонов fprobe (чтобы слушать несколько интерфейсов), то придётся немного изменить стартовые скрипты.

    Для начала отредактируйте имеющийся стартовый скрипт /etc/init.d/fprobe , заменив в нём строчку

    NAME =fprobe

    на строчку

    NAME ="fprobe"

    И, кроме этого, строчку

    DAEMON_OPTS ="-i

    на строчку

    DAEMON_OPTS ="-l 1:0 -i$INTERFACE $OTHER_ARGS $FLOW_COLLECTOR "

    Первое число добавленного параметра запуска -l («1») говорит fprobe использовать syslog для журналирования, а второе является идентификатором процесса. Именно второе число и нужно менять при запуске нескольких копий fprobe , и оно же должно стоять в квадратных скобочках в параметре NAME соответствующего стартового скрипта.

    Теперь, чтобы создать все необходимые параметры и скрипты для запуска второй копии fprobe , скопируйте /etc/init.d/fprobe в /etc/init.d/fprobe_1:

    sudo cp / etc/ init.d/ fprobe / etc/ init.d/ fprobe_1

    И /etc/default/fprobe в /etc/default/fprobe_1:

    sudo cp / etc/ default/ fprobe / etc/ default/ fprobe_1

    Отредактируйте /etc/default/fprobe_1 для работы со вторым интерфейсом.

    Теперь надо отредактировать стартовый скрипт /etc/init.d/fprobe_1 для второго процесса fprobe . Замените числа в параметре NAME и DAEMON_OPTS на нужные:

    NAME ="fprobe" DAEMON_OPTS ="-l 1:1 -i$INTERFACE $OTHER_ARGS $FLOW_COLLECTOR "

    Кроме этого, измените код загрузки конфигурационного файла таким образом, чтобы он обращался к файлу fprobe_1. Вместо примерно следующего:

    if [ -f / etc/ default/ fprobe ] ; then . / etc/ default/ fprobe fi

    должно получится что-то вроде:

    # Include fprobe defaults if available if [ -f / etc/ default/ fprobe_1 ] ; then . / etc/ default/ fprobe_1 fi

    Также в новых версиях Ubuntu в начале этого файла содержится специальный комментарий для системы загрузки. Он начинается со строчки

    # ## BEGIN INIT INFO

    В этом комментарии также необходимо заменить строчку

    # Provides: fprobe

    на строчку

    # Provides: fprobe_1

    Убедитесь, что всё работает, как надо. Для этого запустите оба fprobe , потом загляните в любой менеджер процессов (например, htop) и найдите там оба демона.

    Если всё нормально, то добавьте второй демон fprobe в автозагрузку командой

    sudo update-rc.d fprobe_1 defaults

    Конечно, если вы пропишете запуск второго демона fprobe в /etc/network/interfaces , то добавлять его в автозагрузку не стоит.

    Таким образом можно запустить сколько угодно демонов fprobe , просто меняя идентификатор.

    Коллектор Nfdump и визуализатор данных Nfsen

    Nfdump и Nfsen - это коллектор с сопутствующими утилитами и веб-интерфейс визуализации собранных данных. Nfdump доступен в стандартных репозиториях Ubuntu, а Nfsen можно скачать с официального сайта . Там же можно посмотреть скриншоты, чтобы составить представление о том, что такое Nfsen.

    В качестве сенсора для этой связки можно использовать любой доступный, например fprobe или softflowd .

    Nfdump можно поставить через любой пакетный менеджер, например, командой

    sudo apt-get install nfdump

    Nfsen необходимо распаковать куда-нибудь на сервер из архива с исходными текстами и выполнить несколько несложных операций. Для начала необходимо поставить все нужные для работы пакеты:

    sudo apt-get install apache2 libapache2-mod-php5 librrds-perl libmailtools-perl

    После этого зайти в папку etc/ в директории, куда вы распаковали Nfsen, и переименовать находящийся там файл nfsen-dist.conf в nfsen.conf . Это основной конфигурационный файл Nfsen. Его необходимо отредактировать под ваши нужды. Ниже приведены только опции, которые нужно изменить для базовой конфигурации Nfsen:

    # Директория, куда установится Nfsen. $BASEDIR = "/srv/nfsen" ; # Если хотим веб-интерфейс поставить в ту же папочку, что и всё остальное $HTMLDIR = "${BASEDIR}/www" ; # Местоположение утилит Nfdump для Ubuntu и Debian $PREFIX = "/usr/bin" ; # Пользователь для запуска nfcapd - демона-коллектора $USER = "www-data" ; # Пользователь и группа для запуска веб-интерфейса $WWWUSER = "www-data" ; $WWWGROUP = "www-data" ; # Источники сбора данных - имя, локальный порт, на котором слушать, цвет графика %sources = ( "router1" => { "port" => "9995" , "col" => "#0000ff" , "type" => "netflow" } , "router2" => { "port" => "9996" , "col" => "#00ff00" , "type" => "netflow" } , ) ;

    Подробную документацию по доступным возможностям можно почитать на .

    В Ubuntu 12.04 LTS с Perl 5.14 и nfsen 1.3.6p1 нет import Socket6. В файлах «libexec/AbuseWhois.pm» и «libexec/Lookup.pm» заменить:

    use Socket6;

    Socket6-> import (qw (pack_sockaddr_in6 unpack_sockaddr_in6 inet_pton getaddrinfo) ) ;

    После редактирования конфига можно установить Nfsen. Для этого достаточно из директории, куда вы его распаковали, выполнить команду

    ./ install.pl etc/ nfsen.conf

    Всё, что осталось, это запустить Nfsen. В примере выше в качестве директории для установки Nfsen указан путь /srv/nfsen/. В этом случае для запуска можно использовать команду

    / srv/ nfsen/ bin/ nfsen start

    Чтобы интегрировать Nfsen в систему качестве автоматически запускаемого сервиса выполните две примерно такие команды:

    ln -s / srv/ nfsen/ bin/ nfsen / etc/ init.d/ nfsen update-rc.d nfsen defaults 20

    Теперь, если вы оставили настройки веб-сервера по умолчанию, веб-интерфейс должен быть доступен по адресу http://yourserver/nfsen/nfsen.php .

    Учтите, информация начнёт собираться не сразу, так что необходимо некоторое время, перед тем, как на графиках что-то появится. Ну и конечно в сети должны быть сенсоры, посылающие информацию по указанным портам.

    Для мониторинга скорости соединения и трафика можно также использовать стандартный апплет панели cairo-dock - netspeed и популярное средство системного мониторинга conky.

    Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.

    1. первый инструмент - top

    Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.

    2. htop

    Htop - системный монитор, как альтернатива команде top, показывает динамический список всех (в отличие от top) системных процессов, время непрерывной работы, использование процессоров и памяти.

    Atop - интерактивный монитор, аналогичен top, выводит новые изменения об активных процессах в системе. Хороший инструмент для отслеживания узких мест, контроль загрузки центрального процессорного устройства, RAM, компьютерной сети. Из-за того, что работает непрерывно может грузить сервер. Сочетает в себе возможности top, netstat, iostat, accounting и другие. Сохраняет данные в файл собственного двоичного формата (записывает состояние системы в сжатый файл).

    Apachetop - консольная утилита, мониторит трафик в реальном времени, разбивает логи apache и показывает вывод на экран, одним словом показывает подробную картину использования ваших сайтов.

    Утилита ftptop дает основную информацию о всех текущих ftp-соединениях с сервером, информацию об общем количестве сеансов, количество загрузок и скачиваний, кто клиент. Позволяет увидеть подключенных к ftp серверу пользователей.

    Интересная, удобна и полезная утилита под названием mytop. Подобна утилите top для систем Unix, mytop просматривает все обращения к MySQL серверу в реальном времени.

    Powertop - утилита, позволяющая обнаружить в системе компоненты, которые потребляют больше энергии чем нужно на вашем ноутбуке, и показывает общее электропотребление (в Вт), информация считывается с различных источников ядра. Это позволит управлять /эксперементировать с настройками по управлению электропитанием, эффективно настроить потребление энергии под вашу машину.

    Iotop - утилита подобна утилите top, но отображает использование не CPU и памяти, а работу процессов с дисками, написана на Python. Поможет вам определить какой процесс обращается к жесткому диску в Linux. Отображает активные процессы, которые в данный момент выполняют операции I/O с диском, собирает статистику за определенное время.

    Ntopng является следующим поколением ntop, инструмент позволяет мониторить сколько, что и какой IP прокачал через интерфейс на шлюзе, показывает распределение IP-трафика, геолокации хостов, анализ сетевого трафика.

    Iftop - выводит информацию об активных сетевых соединениях, скорость сетевой закачки/отдачи, мониторит трафик онлайн, разделяет трафик по протоколам, интерфейсам и хостам.

    Iftop аналогичен top по части использования сети.

    Jnettop визуализирует сетевой трафик аналогично iftop, мониторит сетевую активность. Утилита для мониторинга трафика в реальном времени.

    Bandwidthd - утилита для контроля трафика конечных пользователей, строит сводные таблицы (html) и графики по каждому пользователю по IP и по подсети с разбивкой по дням, неделям и месяцам.

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

    Ethtool - утилита настройки сетевых интерфейсов в Linux. Это означает, что bond0, tun0 и другие устройства, которые не являются физическими, с помощью ethtool ни просматривать, ни редактировать их параметры нельзя.

    NetHogs - утилита, которая отслеживает любую сетевую активность всех процессов на компьютере, аналогична top только для сети. Утилита есть в стандартных репозиториях и устанавливается всего одной командой:
    sudo apt-get install nethogs
    Запустить утилиту можно только с правами root-пользователя:
    sudo nethogs
    16. iptraf

    Iptraf - утилита наблюдения за сетевыми интерфейсами, мониторит трафик по всем TCP соединениям, приводит статистику по загрузке сетевых интерфейсов, по протоколам, по портам, по размерам пакетов.

    Ngrep - тотже grep только на сетевом уровне, служит для выборки и просмотра содержимого пакетов, является pcap-совместимой утилитой, дает возможность использовать шестнадцатиричные строки при определении шаблонов.

    MRTG - утилита мониторит сетевые линки. MRTG на выходе генерирует html страницы с графиками в png.

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

    Traceroute - утилита с помощью которой можно определить на каком участке IP-сети произошел сбой, «исследовать» IP-сети (маршрутизацию, серверы DNS, магистральный канал передачи данных, он же бэкбон, систему подсетей и т.д.)

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

    Darkstat - мониторит сетевой трафик, выводит статистику использования сети, отправляет отчеты по http. Собранная информация о скорости, количестве переданных пакетов, байтах, посещенных хостах и данных о хостах выводится в виде веб странички.

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

    Netstat - утилита используется для проверки активных TCP соединений, выводит информацию о используемом протоколе, локальном адресе и номере порта, внешнем адресе и номере порта, а также информацию о состоянии соединения.

    Ss - утилита, можно использовать вместо netstat, она способна показывать более детальную информацию и быстрее, если хотите вывести суммарную статистику - эта утилита для вас. ss собирает и выводит информации о всех TCP и UDP портах, открытых ssh / ftp / http / https соединениях и т.д.

    Nmap - утилита позволяет сканировать сервер, определяет какая ОС установлена, можно узнать, защищен ли компьютер какими-либо пакетными фильтрами или фаерволом и многие другие возможности (утилита с открытым исходным кодом для исследования сети и проверки безопасности).

    MTR - утилита для диагностики сети, комбинирует в себе возможности программ traceroue и ping, производит исследование соединений между узлом, на котором она запущена и целевым узлом, программа позволяет определить узел, на котором происходят потери пакетов.

    Tcpdump - выводит заголовки пакетов проходящих через сетевой интерфейс, которые совпадают с булевым выражением, входит в большинство дистрибутивов Unix и позволяет перехватывать и отображать/сохранять в файл сетевой трафик. С помощью tcpdump можно анализировать трафик на сетевом уровне (ARP, ICMP), на транспортном уровне (TCP, UDP).

    Justniffer - консольная утилита для анализа трафика, сниффер протокола HTTP, основанный на pcap и заточенный под TCP.

    System related monitoring

    30. nmon

    Nmon - утилита системного мониторинга, выводит информацию о ЦП, оперативной памяти, сети, дисках, как в виде графиков, так и в числовых данных, файловых системах, NFS, самых нагружающих процессах, ресурсах.

    Conky - многофункциональный полностью настраиваемый системный монитор для Linux и BSD систем, отслеживает многие показатели системы, такие как CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое.

    Glances - утилита для мониторинга системных ресурсов в режиме реального времени, выполняет мониторинг в одном окне, выводит информацию о использование CPU, Load Average, использование RAM и Swap, битрейт интерфейсов, данные сенсоров (только в Linux), битрейт ввода/вывода, использование ФС, информацию о процессах.

    Saidar - маленький инструмент, который выводит основную информацию о системных ресурсах (показывает загрузку процессора, памяти, процессов и сетевых интерфейсов).

    RRDtool - утилита для мониторинга сети и аппаратных ресурсов, набор утилит RRDtool предназначен для хранения, обработки и отображения любых данных, изменяющихся во времени, сюда относятся: сетевой трафик, пропускная способность сети, загрузка процессора и ОЗУ, температура.

    RRDTool собирает информацию и создает графики, информация хранится в кольцевой БД. Размер БД остается постоянным, потому что ячейки задействованы циклически.

    Monit - утилита выполняет те же функции что и monitord, мониторит состояние сервисов, отправляет уведомления о различных событиях по email, совершает действия по перезапуску служб в зависимости от условий. Есть возможность следить за состоянием системы как из командной строки, так и через собственный веб-сервер monit.

    Linux process explorer - компактное, но мощное C++ / QT графическое приложение для просмотра активных процессов (диспетчер задач) и мониторинга состояния системы (системный монитор)

    Df - утилита, выводит данные о размере свободного дискового пространства указанной файловой системы или файловой системы, к которой относится указанный файл, сообщает его размер, точки монтирования. Если не заданы ни файл, ни файловая система, утилита выводит статистику по всем cмонтированным файловым системам. Выводимые значения соответствуют количеству 512-байтных блоков.

    Discus - аналогичен df, отличие графически вывод выглядит приятнее)

    Xosview - является классическим инструментом для мониторинга системы, он прост, отображает текущее состояние системы в виде набора графических полос, длинна и ширина которых зависит от размера окна.

    Dstat - хорошая утилита, чтобы мониторить состояния системы, анализировать производительно и диагностировать сбои в интерактивном режиме. Можно подключать разнообразные модули для мониторинга различных служб (mysql, nfs, postfix). Универсальная замена для Vmstat, IOSTAT, NetStat и ifstat.

    SNMP - протокол модели OSI, был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов, потом сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера, LAN Manager сервера, машины под управлением Windows NT.

    Утилиты пакета Net-SNMP - для отслеживания параметров маршрутизатора.

    Incron (INotify CRON) - пакет утилит, можно запускать скрипты по событиям на файловой системе, используя систему уведомлений ядра Linux inotify. Утилита типа как cron, но в качестве рычага для выполнения команды не время, а совпадение заданного события файловой системы применительно к указанному файлу.

    Monitorix - простой инструмент для мониторинга системы, можно контролировать загрузку и температуру процессора, оперативной памяти, жестких дисков и прочего оборудования. Изначально был создан для использования в производственных серверов Linux / UNIX, но может быть использован на встроенных устройствах.

    Vmstat - статистика виртуальной памяти, небольшой встроенный инструмент, который отслеживает и отображает краткую информацию о состоянии памяти в компьютере.

    Uptime - утилита, показывает текущее время, время работы после загрузки, количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут.

    46. mpstat - встроенный инструмент, который отслеживает использование процессоров в системе. Наиболее часто используемая команда mpstat -P ALL - показывает развернутую статистику всех процессов системы.

    Pmap - выводит данные о распределении памяти между процессами, позволяет найти причину узких мест, связанных с использованием памяти.

    Ps - утилита для мониторинга процессов в режиме реального времени, показывает список всех процессов, которые выполнялись на момент запуска этой программы, работает быстрее чем top, ориентирована на просмотр PID спецефического процесса и всей командной строки каждого процесса.

    Sar - утилита, часть Systat пакета, используется для мониторинга различных подсистем Linux (процессор, память, ввод/вывод) в реальном времени. Мощная утилита, она удобна, когда нужно собрать информацию об активностях за некоторый период для дальнейшего использования.

    Collectl - утилита для мониторинга загрузки процессора, сети, мониторит производительность и собирает статистику с различного оборудования, различных служб таких как bind, apache, open­vpn, mysql и других.

    Iostat - утилита для выявление узких мест, связанных с диском, выдает информацию о дисковом вводе/выводе и об использовании процессора.

    Free - утилита выводит информацию о полном обьеме памяти, свободной и занятой части памяти, включая swap-разделы.

    /Proc file system - файловая система дает возможность изучить ядро Linux изнутри). Из этих статистических данных вы можете получить подробную информацию о различных аппаратных устройств на вашем компьютере.

    GKrellM - настраиваемый виджет с различными темами, который отображает на рабочем столе данные об устройстве системы: CPU, температуру, память, сеть и так далее.

    Gnome system monitor - мониторит работу системы, утилита выводит в виде графиков информацию в реальном времени о ресурсах - использование процессора (CPU), использование оперативной памяти (RAM) и файла подкачки (SWAP), а также использование сети.

    GoAccess - утилита, с помощью которой можно анализировать логи веб серверов и строить отчеты (анализ логов доступа к вашим сайтам) в режиме реального времени. Кроме того, данные можно выводить в HTML, JSON или CSV. Выводит общую статистику, топ посетителей, 404, геолокации и многое другое.

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

    Swatch - утилита для активного мониторинга журналов регистрации, контролирует практически любые типы лог файлов.

    MultiTail - консольный инструмент, можно наблюдать за log файлами, а также за выводом других команд (таких как rsstail, wtmptail, negtail), может разбивать терминал на много маленьких окон.

    Acct or psacct - утилиты для мониторинга пользователей и приложений, которые работают или работали в системе, работает в режиме background и собирает в логи данные, можно отслеживать количество ресурсов потребляемых тем или иным приложением.

    Whowatch - утилита, отслеживает пользователей в вашей системе и позволяет видеть в реальном времени, какие команды и процессы они используют.

    Strace - утилита, которая отслеживает системные вызовы, которые делает указанный процесс, а также какие сигналы он получает.

    DTrace - большой брат strace, утилита для отладки iOS-приложений, она нужна при отладке сложных случаев, когда вам нужно задать правила для фильтрации вызываемых функций, утилита не для слабонервных, нужно изучить «1000 и 1 „книгу для работы с ней.

    Webmin - веб-инструмент для системного администрирования, избавляет от необходимости вручную редактировать файлы конфигурации Unix, позволяет удаленно управлять системой в случае необходимости, вы можете настраивать аккаунты юзеров, сервер Apache, DNS, файловый сервер и другое.

    Stat - встроенный инструмент, отображает информацию о состоянии файлов и файловых систем, выводит данные о том как, когда файл был изменен, или о его правке.

    Ifconfig - команда позволяет конфигурировать сетевые интерфейсы.

    Ulimit - утилита, с ее помощью можно установить ограничения на общесистемные ресурсы, обеспечивает контроль над ресурсами для оболочки и процессов, запущенных под ее управлением, встроена в интерпретатор bash. Значения limit, как правило указывается в 1024-байтных блоках.

    Cpulimit - небольшая утилита, которая поможет ограничить использование процессом CPU.

    Lshw - небольшая утилита предоставляет детальную информацию о конфигурации оборудования компьютера, выводит данные о памяти, версии микропрограммы, устройстве материнской платы, типе и скорости работы процессора, конфигурации кэша, частотах шин.

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

    Lsof (List Of Opened Files) - утилита для вывода информации о том, какие файлы используются теми или иными процессами.

    Server Density - инструмент мониторинга Linux, позволяет настраивать оповещения и просматривать графики для системной и сетевой метрики.

    OpenNMS - мониторит различные сервисы и внутренние системы сетевого и серверного оборудования.

    SysUsage - утилита, работает на всех unix-платформах и отображает подробную информацию о процессорах, памяти, устройствах ввода/вывода, сетевых устройствах, файлах, процессах и датчиках температуры. Диаграммы создаются при помощи rrdtool.

    Brainypdm - веб-инструмент управления данными и мониторингом, который собирает данные о производительности с помощью nagios.

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

    KDE system guard - менеджер задач, графический монитор, выдающий сведения о системе в режиме реального времени, приложение для KDE, позволяет осуществлять мониторинг локальных и удаленных хостов.

    Munin - OpenSource проект, который написан на Perl и использующем RRDtool, инструмент мониторинга ресурсов, собирает данные с нескольких серверов одновременно и выводит все в графиках (все прошедшие события сервера, нагрузку).

    Nagios - приложения для полного мониторинга системы и сетей.

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

    Cacti - с помощью протокола SNMP снимает статистику с устройств, через RRD-tool делает наглядные графики, будь то использование дискового пространства на файл-сервере, или загрузка интерфейсов комутатора.

    Zabbix - система мониторинга, которая состоит из нескольких подсистем, причем все они могут размещаться на разных машинах, используется для мониторинга серверов (в основном).

    Collectd - собирает статистку об использовании ресурсов, легконастраиваемый инструмент.

    Observium - система мониторинга и наблюдения за сетевыми устройствами и серверами.

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

    Вы можете установить его с помощью:
    1 yum install nload
    или:
    1 sudo apt-get install nload
    84. SmokePing

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

    MobaXterm приходит на помощь и позволяет использовать многие из терминальных команд, которые обычно встречаются в Linux, если вы работаете в среде Windows.

    Shinken monitoring - система мониторинга, гибкая в настройке, много совместимого софта, с собственным WebUI, с широким спектром поддерживаемого сетевого и серверного оборудования.

    14

    Я бы порекомендовал iptraf или iftop , если вам не нужно много функциональность. На домашней странице iptraf:

    IPTraf - это консольная утилита статистики сети для Linux. Он собирает множество показателей, таких как TCP-соединение и количество байтов, статистика интерфейса и индикаторы активности, сбои трафика TCP/UDP и количество пакетов и байт-станций локальной сети. Характеристики

    • Монитор IP-трафика, который показывает информацию об IP-трафике, проходящем через вашу сеть. Включает информацию о флагах TCP, количество пакетов и байт, данные ICMP, типы пакетов OSPF.
    • Общая и подробная статистика интерфейса, показывающая IP, TCP, UDP, ICMP, не IP и другие IP-пакеты, ошибки контрольной суммы IP, активность интерфейса, количество пакетов.
    • Протокол TCP и UDP службы монитор, показывающий счетчики входящих и исходящих пакетов для общих TCP и UDP портов приложений
    • Локальная сеть Модуль статистики, который обнаруживает активные хосты и показывает статистические данные, показывающие активность данных на них
    • TCP, UDP, и другие фильтры отображения протокола, позволяющие просматривать только интересующий вас трафик.
    • Регистрация
    • Поддерживает типы интерфейса Ethernet, FDDI, ISDN, SLIP, PPP и loopback.
    • Использует встроенный интерфейс raw socket ядра Linux, позволяя использовать его на широком диапазоне поддерживаемых сетевых карт.
    • Полноэкранный режим, управляемый меню.

    Скриншот IPTraf главного меню:

    Это скриншот, если iftop:

    1

    Такие вещи, как bro IDS будет анализировать трафик, который идет через сетевой интерфейс и записывать всевозможные вещи, такие как соединения и количество трафика IR, найденные протоколы и информацию для каждого протокола (например, HTTP-запросы, отправленные письма, DNS-запросы, общие имена сертификатов SSL ...). Это не скажет вам, что это за приложение (за исключением регистрации агентов пользователя, например, для HTTP-браузеров). Поскольку он обнюхивает пакет, он может пропустить некоторые данные, если он не может идти в ногу с объемом обмена данными (хотя он будет сообщать, если он это делает).

    conntrackd может использоваться для регистрации каждого соединения, отслеживаемого брандмауэром с состоянием, и обмена данными. Он будет работать независимо от объема данных, проходящих через систему, но не будет сообщать данные, которые не проходят через брандмауэр, например, мостовой трафик, если они исключены из сетевого фильтра или raw-сокета.

    Вы также можете использовать правила брандмауэра для регистрации трафика с использованием цели LOG или ULOG в комбинации с ulogd .

    Для регистрации того, что связано с подключением pid, вам необходимо использовать систему аудита (auditd / auditctl), но это было бы очень много и нелегко анализировать.