Поиск по сайту:

Как отслеживать сетевой трафик с помощью vnStat в Ubuntu 22.04


Это руководство существует для этих версий ОС

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Focal Fossa)

На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить vnStat
  4. Использование Systemd для управления VnStat
  5. Как контролировать сетевой трафик с помощью vnStat
  6. Заключение

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

Функции

  • Одновременный мониторинг нескольких интерфейсов.
  • Предоставляет несколько вариантов вывода, например по дням, по неделям и т. д.
  • Отсортируйте данные по часам, дням, месяцам или неделям или получите первые 10 дней.
  • Позволяет создавать выходные данные в формате изображения.
  • Одновременный мониторинг нескольких сетевых интерфейсов.
  • Легкий и с низким потреблением ресурсов ЦП.

В этом руководстве показано, как установить и использовать инструмент VnStat для мониторинга сетевого трафика в Ubuntu 22.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • На сервере настроен пароль root.

Начиная

Перед запуском рекомендуется обновить и обновить все системные пакеты до последней версии. Вы можете обновить их все с помощью следующей команды:

apt update -y
apt upgrade -y

Как только все пакеты будут обновлены, вы можете установить VnStat из исходного кода на следующем шаге.

Установить внстат

По умолчанию последняя версия vnStat недоступна в стандартном репозитории Ubuntu. Поэтому вам нужно будет скомпилировать его из исходного кода.

Сначала установите все зависимости, необходимые для компиляции vnStat, с помощью следующей команды:

apt-get install build-essential gcc make libsqlite3-dev -y

После установки всех зависимостей загрузите последнюю версию исходного кода vnStat с помощью следующей команды:

wget https://humdi.net/vnstat/vnstat-2.10.tar.gz

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

tar -xvzf vnstat-2.10.tar.gz

Затем измените каталог на извлеченный каталог и настройте его с помощью следующей команды:

cd vnstat-2.10
./configure --prefix=/usr --sysconfdir=/etc

Затем установите vnStat, выполнив следующую команду:

make
make install

После установки vnStat вы можете проверить установленную версию vnStat с помощью следующей команды:

vnstat -v

Вы должны получить следующий результат:

vnStat 2.10 by Teemu Toivola 

Как только вы закончите, вы можете перейти к следующему шагу.

Используйте Systemd для управления VnStat

Чтобы управлять VnStat с помощью systemd, вам потребуется скопировать служебный файл vnStat systemd из исходного кода vnStat в каталог /etc/systemd/system/:

cp -v vnstat-2.10/examples/systemd/vnstat.service /etc/systemd/system/

Затем включите службу vnStat и запустите ее с помощью следующей команды:

systemctl enable vnstat
systemctl start vnstat

Вы также можете проверить статус службы vnStat с помощью следующей команды:

systemctl status vnstat

Вы должны получить следующий результат:

? vnstat.service - vnStat network traffic monitor
   Loaded: loaded (/lib/systemd/system/vnstat.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-11-29 08:34:08 IST; 2h 49min ago
     Docs: man:vnstatd(1)
           man:vnstat(1)
           man:vnstat.conf(5)
 Main PID: 1730 (vnstatd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/vnstat.service
           ??1730 /usr/sbin/vnstatd -n

Nov 29 08:34:08 vyompc systemd[1]: Started vnStat network traffic monitor.
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: vnStat daemon 1.18 started. (pid:1730 uid:122 gid:128)
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: Monitoring: enp20s0 (1000 Mbit) wlp22s0 (1000 Mbit)

Как только вы закончите, вы можете перейти к следующему шагу.

Как отслеживать сетевой трафик с помощью vnStat

vnStat предоставляет несколько опций, позволяющих отслеживать сетевой трафик. Вы можете просмотреть все доступные параметры с помощью следующей команды:

vnstat --help

Вы должны получить следующий результат:

vnStat 2.10 by Teemu Toivola 

      -5,  --fiveminutes [limit]   show 5 minutes
      -h,  --hours [limit]         show hours
      -hg, --hoursgraph            show hours graph
      -d,  --days [limit]          show days
      -m,  --months [limit]        show months
      -y,  --years [limit]         show years
      -t,  --top [limit]           show top days

      -b, --begin            set list begin date
      -e, --end              set list end date

      --oneline [mode]             show simple parsable format
      --json [mode] [limit]        show database in json format
      --xml [mode] [limit]         show database in xml format

      -tr, --traffic [time]        calculate traffic
      -l,  --live [mode]           show transfer rate in real time
      -i,  --iface      select interface

Use "--longhelp" or "man vnstat" for complete list of options.

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

vnstat

Вы должны увидеть следующий вывод:

                      rx      /      tx      /     total    /   estimated
 wlp22s0:
       Oct '22     17.80 GiB  /    4.35 GiB  /   22.15 GiB
       Nov '22     16.61 GiB  /    3.62 GiB  /   20.23 GiB  /   21.48 GiB
     yesterday    332.22 MiB  /  114.17 MiB  /  446.39 MiB
         today    710.25 MiB  /   44.85 MiB  /  755.11 MiB  /    1.55 GiB

Чтобы использовать определенный сетевой интерфейс, используйте параметр -i, как показано ниже:

vnstat -i ens3

Вы должны получить ежедневную и ежемесячную статистику в следующем выводе:

Database updated: 2020-11-12 06:30:00

   ens3 since Saturday 29 January 2022

          rx:  185.89 GiB      tx:  38.82 GiB      total:  224.70 GiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Oct '22     17.80 GiB |    4.35 GiB |   22.15 GiB |   71.04 kbit/s
       Nov '22     16.61 GiB |    3.62 GiB |   20.23 GiB |   71.20 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated     17.64 GiB |    3.85 GiB |   21.48 GiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday    332.22 MiB |  114.17 MiB |  446.39 MiB |   43.34 kbit/s
         today    710.25 MiB |   44.85 MiB |  755.11 MiB |  154.31 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated      1.46 GiB |      92 MiB |    1.55 GiB |

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

vnstat -h

Вы должны получить следующий результат:

 ens3  /  hourly

 h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB) 
12        5.4        0.2 ][ 20       30.4       14.8 ][ 04        0.0        0.0
13       72.7       15.0 ][ 21       24.8        6.4 ][ 05        0.0        0.0
14        1.9        0.4 ][ 22       20.1        9.8 ][ 06        0.0        0.0
15        0.0        0.0 ][ 23        0.0        0.0 ][ 07        0.0        0.0
16        0.0        0.0 ][ 00        0.0        0.0 ][ 08      147.0       10.2
17       36.4        9.6 ][ 01        0.0        0.0 ][ 09       64.1        9.4
18       54.0       23.4 ][ 02        0.0        0.0 ][ 10      496.9       23.9
19       86.5       34.5 ][ 03        0.0        0.0 ][ 11        2.3        1.3

Чтобы отобразить ежедневную статистику, выполните следующую команду:

vnstat -d

Вы должны получить следующий результат:

 ens3  /  daily
        day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     Sunday 30 October 2022  266.75 MiB |   47.81 MiB |  314.56 MiB |   30.54 kbit/s
     Monday 31 October 2022  701.49 MiB |  225.89 MiB |  927.38 MiB |   90.04 kbit/s
     Tuesday 01 November 2022  506.20 MiB |  184.50 MiB |  690.70 MiB |   67.06 kbit/s
     Wednesday 02 November 2022  631.15 MiB |  182.43 MiB |  813.59 MiB |   78.99 kbit/s
     Thursday 03 November 2022  189.21 MiB |   41.18 MiB |  230.39 MiB |   22.37 kbit/s
     Friday 04 November 2022  703.67 MiB |  175.49 MiB |  879.16 MiB |   85.36 kbit/s
     Saturday 05 November 2022  518.96 MiB |  130.47 MiB |  649.43 MiB |   63.05 kbit/s
     Sunday 06 November 2022  301.74 MiB |   81.95 MiB |  383.69 MiB |   37.25 kbit/s

Вы можете использовать опцию -t для отображения дней с наибольшим трафиком:

vnstat -t

Вы должны получить следующий результат:

 ens3  /  top 1

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   Thursday 03 February 2022    2.58 GiB |  214.64 MiB |    2.79 GiB |  277.76 kbit/s
    2   Saturday 05 February 2022    2.11 GiB |  229.32 MiB |    2.33 GiB |  231.67 kbit/s
    3   Tuesday 01 February 2022    1.81 GiB |  190.56 MiB |    2.00 GiB |  198.71 kbit/s
    4   Wednesday 02 February 2022    1.80 GiB |  179.75 MiB |    1.98 GiB |  196.72 kbit/s
    5   Sunday 10 July 2022    1.69 GiB |  248.34 MiB |    1.93 GiB |  192.21 kbit/s
    6   Saturday 19 February 2022    1.56 GiB |  172.67 MiB |    1.73 GiB |  171.56 kbit/s
    7   Friday 16 September 2022    1.44 GiB |  201.21 MiB |    1.64 GiB |  163.16 kbit/s
    8   Friday 17 June 2022    1.34 GiB |  278.89 MiB |    1.61 GiB |  160.33 kbit/s
    9   Friday 25 March 2022    1.06 GiB |  504.19 MiB |    1.55 GiB |  154.51 kbit/s
   10   Monday 07 February 2022    1.30 GiB |  160.68 MiB |    1.46 GiB |  145.30 kbit/s
   -----------------------------+-------------+-------------+---------------

Чтобы отобразить статистику сетевого трафика в режиме реального времени, выполните следующую команду:

vnstat -l

Вы должны получить следующий результат:

Monitoring ens3...    (press CTRL-C to stop)

   rx:       11 kbit/s     7 p/s          tx:        9 kbit/s     6 p/s^C


 ens3  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                       17 KiB  |          18 KiB
--------------------------------------+------------------
          max              24 kbit/s  |       33 kbit/s
      average            6.78 kbit/s  |     7.39 kbit/s
          min               0 kbit/s  |        0 kbit/s
--------------------------------------+------------------
  packets                         78  |              82
--------------------------------------+------------------
          max                 10 p/s  |          11 p/s
      average                  3 p/s  |           4 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                    20 seconds

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

vnstat -i ens3 --remove --force

Вы должны получить следующий результат:

Interface "ens3" removed from database.
The interface will no longer be monitored. Use --add
if monitoring the interface is again needed.

Вы также можете снова добавить удаленный интерфейс ens3, выполнив следующую команду:

vnstat -i ens3 --add

Вы должны получить следующий результат:

Adding interface "ens3" for monitoring to database...

Restart the vnStat daemon if it is currently running in order to start monitoring "ens3".

Затем перезапустите службу vnStat, чтобы изменения вступили в силу:

systemctl restart vnstat

Заключение

В этом посте мы объяснили, как установить vnStat на Ubuntu 22.04. Мы также покажем вам, как использовать его для мониторинга сетевого трафика, на нескольких примерах. Теперь вы можете использовать этот инструмент для анализа и устранения неполадок, связанных с сетью. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.

Статьи по данной тематике: