Учет трафика сетевого интерфейса в Linux с помощью vnstat

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

Vnstat поддерживает Linux, *BSD и Darwin/MacOS X операционные системы. Системных ресурсов vnstat потребляет очень мало.

Установка

  1. DEB – подобные дистрибутивы
    sudo apt-get install vnstat
    RPM – подобные дистрибутивы
    sudo rpm -i vnstat.rpm
    FreeBSD
    pkg_add -r vnstat
    Cпециально для Unix Way на сайте разработчика есть исходники.
  2. Отключаем необходимые сетевые интерфейсы (в нашем случае их два: eth0 и wlan0):
    sudo ifdown eth0
    sudo ifdown wlan0
  3. Устанавливаем мониторинг сетевых интерфейсов:
    vnstat -u -i eth0
    vnstat -u -i wlan0
  4. Включаем сетевые интерфейсы:
    sudo ifdup eth0
    sudo ifdup wlan0

Использование

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



# Текущие показания монитора

vnstat



Результат:
Database updated: Sat Apr 18 04:40:01 2009

wlan0

received: 25.31 MB (92.6%)
transmitted: 2.89 MB (7.4%)
total: 28.20 MB

rx | tx | total
——————————————+———————-+—————————-
today 25.31 MB | 2.89 MB | 28.20 MB
——————————————+———————-+—————————-
estimated 127 MB | 10 MB | 137 MB

Информацию можно вывести в удобном виде: по часам, по дням, по неделям, по месяцам. Можно просмотреть рейтинг самых «весомых» дней.

# Показать статистику трафика по часам
vnstat -h
# Показать статистику по дням
vnstat -d
Результат:
wlan0 / daily

day rx | tx | total
——————————————-+——————-+————————————————————
18.04. 25.35 MB | 2.90 MB | 28.25 MB %%%%%%%%%:::
——————————————-+——————-+————————————————————
estimated 125 MB | 10 MB | 135 MB
# Показать статистику по неделям
vnstat -w
# Показать статистику по месяцам
vnstat -m
# Показать top10 дней
vnstat -t
Результат:
wlan0 / top 10

  1. day rx | tx | total
    ———————————————————+————————+————————————————-
    1 20.02.09 19.15 GiB | 37.55 GiB | 56.70 GiB %%%%%%::::::::::::
    2 02.02.09 20.65 GiB | 34.03 GiB | 54.68 GiB %%%%%%:::::::::::
    3 14.01.09 20.00 GiB | 32.99 GiB | 52.99 GiB %%%%%%::::::::::
    4 31.01.09 13.33 GiB | 29.83 GiB | 43.16 GiB %%%%:::::::::
    5 30.12.08 30.52 GiB | 11.81 GiB | 42.33 GiB %%%%%%%%%::::
    6 13.01.09 19.09 GiB | 20.43 GiB | 39.53 GiB %%%%%%::::::
    7 04.02.09 13.16 GiB | 24.09 GiB | 37.25 GiB %%%%:::::::
    8 19.03.09 27.82 GiB | 8.71 GiB | 36.53 GiB %%%%%%%%:::
    9 20.01.09 11.92 GiB | 21.00 GiB | 32.91 GiB %%%%::::::
    10 09.02.09 12.95 GiB | 19.26 GiB | 32.21 GiB %%%%::::::
    ———————————————————+————————+————————————————-

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен

Комментарии (6)

  • #

    Еще не плохо бы прикрутить веб морду :)
    Тут я писал как – http://angel2s2.blogspot.com/2009/04/vnstat-ubuntu-lighttpd-vnstati.html

  • mihmih
    #

    У меня почему-то sudo ifdown eth0
    не повлияло, помогло только
    sudo /etc/init.d/networking restart
    ….

  • #

    Возможно у Вас сетевой интерфейс называется не eth0, а eth1, eth2…
    А команда, которую Вы привели, перезагружает все сетевые интерфейсы. Путей много, результат один! ))

  • #

    Отличный софт, один вопрос. Как его осилить на виндавс?

  • Mut@NT
    #

    Nird: Отличный софт, один вопрос. Как его осилить на виндавс?

    Windows поддержки нет

  • Al
    #

    ifdup – нет какой команды. вернее будет ifup, исправьте