Учет трафика сетевого интерфейса в Linux с помощью vnstat
В работе любого Linux или FreeBSD сервера нередко приходится просматривать проходящий трафик через сетевой интерфейс. Для такого мониторинга сетевого трафика подходит маленький консольный пакет, который умеет подсчитывать проходящие мимо мегабайты и показывать статистику по часам, дням, неделям и т. д. Он может вести подсчет на нескольких сетевых интерфейсах одновременно и их количество не имеет для него никакого значения.
Vnstat поддерживает Linux, *BSD и Darwin/MacOS X операционные системы. Системных ресурсов vnstat потребляет очень мало.
Установка
- DEB – подобные дистрибутивы
sudo apt-get install vnstatRPM – подобные дистрибутивыsudo rpm -i vnstat.rpmFreeBSDpkg_add -r vnstatCпециально для Unix Way на сайте разработчика есть исходники.
- Отключаем необходимые сетевые интерфейсы (в нашем случае их два: eth0 и wlan0):
sudo ifdown eth0sudo ifdown wlan0
- Устанавливаем мониторинг сетевых интерфейсов:
vnstat -u -i eth0vnstat -u -i wlan0
- Включаем сетевые интерфейсы:
sudo ifdup eth0sudo ifdup wlan0
Использование
Вся работа заключается в просмотре статистики по выбранным интерфейсам. Просмотреть статистику можно несколькими командами. Посмотреть текущие значения можно командой:
Результат:
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
Информацию можно вывести в удобном виде: по часам, по дням, по неделям, по месяцам. Можно просмотреть рейтинг самых «весомых» дней.
day rx | tx | total
——————————————-+——————-+————————————————————
18.04. 25.35 MB | 2.90 MB | 28.25 MB %%%%%%%%%:::
——————————————-+——————-+————————————————————
estimated 125 MB | 10 MB | 135 MB
- 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 %%%%::::::
———————————————————+————————+————————————————-
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен
Еще не плохо бы прикрутить веб морду :)
Тут я писал как – http://angel2s2.blogspot.com/2009/04/vnstat-ubuntu-lighttpd-vnstati.html
У меня почему-то sudo ifdown eth0
не повлияло, помогло только
sudo /etc/init.d/networking restart
….
Возможно у Вас сетевой интерфейс называется не eth0, а eth1, eth2…
А команда, которую Вы привели, перезагружает все сетевые интерфейсы. Путей много, результат один! ))
Отличный софт, один вопрос. Как его осилить на виндавс?
Windows поддержки нет
ifdup – нет какой команды. вернее будет ifup, исправьте