Подсчет траффика в Ubuntu с помощью VNSTAT
Доброго времени суток.
Когда я перешел на linux, некоторое время искал программу для подсчета использованного интернет-траффика.
Нужно это было, чтобы знать, когда сотовый оператор после достижения определенного объема переданных-принятых данных уменьшит скорость.
В итоге я остановился на vnstat - консольной утилите для подсчета траффика.
Установка vnstat в Ubuntu.
Установить ее легко, она есть в стандартных репозиториях: sudo apt-get install vnstat
Редактирование конфигурационного файла.
Как и почти любая программа в linux, vnstat настраивается через конфигурационный файл.
Расскажу немного о показавшихся мне интересными настройках. Открываем: sudo gedit /etc/vnstat.conf
MonthRotate 1 ## указывается день месяца, когда обнуляется месячный траффик. Полезно, когда это обнуление происходит не 1 числа, а, допустим 25.
UnitMode 1 ## определяет единицы измерения траффика.
0 - кибибайт, мебибайт, гибибайт, тебибайт (KiB/MiB/GiB/TiB)
1 - килобайт, мегабайт, гигабайт, терабайт (KB/MB/GB/TB)
Отличается тем, что
1 килобайт = 1000 байт, 1 мегабайт = 1000 килобайт = 1000000 байт, а
1 кибибайт = 1024 байт, 1 мебибайт = 1024 кибибайт = 1 048 576 байт и т.д.
Последние единицы измерения введены недавно для разрешения путаницы при переводе одних единиц в другие и из десятичной
системы в двоичную, но малоизвестны.
Кому интересно, можно почитать в Википедии.
Себе сразу поставил UnitMode 1 т.к. привычнее.
SaveInterval 2 ## Определяет время в минутах, через который записываются новые значения траффика в базу данных на винчестер, т.к. программа делает это не непрерывно, а через определенный интервал времени. По-умолчанию было 5, я себе поставил 2.
Больше я в конфигурационном файле ничего не менял.
Там есть еще много параметров, но, честно говоря, не разбирался за что они отвечают.
Сохраняем конфиг и закрываем, изменения настроек вступают в силу сразу же.
Теперь создаем базу данных:
sudo vnstat -u -i ppp0 (где ppp0 - интерфейс, на котором надо определять траффик)
Теперь для проверки нужно попользоваться интернетом, чтобы программе было что заносить в базу данных.
Например, почитать статьи с www.linuxrussia.com
Подождав время, указанное в SaveInterval (помним, что показания программы изменяются не непрерывно, а скачками), можно посмотреть, что насчитала программа: vnstat
Без параметров - просто общая информация о траффике:
rx - получено,
tx - отправлено,
total - всего,
estimated - прогнозируемое.
Остальное, думаю, понятно.
Можно посмотреть по конкретному интерфейсу: vnstat -i ppp0
avg. rate - средняя скорость.
Также, можно посмотреть по месяцам,
vnstat -m -i ppp0
неделям:
vnstat -w -i ppp0
Дням: vnstat -d -i ppp0
Часам: vnstat -h -i ppp0
Также расскажу про маленькую хитрость.
Дело в том, что оператор сотовой связи обнуляет суточный траффик в полночь по времени Екатеринбурга, а я и мой компьютер живем по московскому времени.
То есть vnstat начинает новые сутки в полночь по Москве, а оператор - в 22 часа (разница с Екатеринбургом в 2 часа), и траффик показывается немного неправильно.
Я решил эту проблему, запустив программу в другой временной зоне.
Для этого открываем скрипт, который запускает демон vnstat при старте системы:
sudo gedit /etc/init.d/vnstat Вставляем строку: export TZ=Asia/Yekaterinburg, чтобы получилось так:
Этим мы заставим программу запускаться в временной зоне Екатеринбурга (и правильно считать траффик).
Теперь программой можно пользоваться.
Набирать каждый раз команду в терминале не очень удобно.
Можно, например, сократить
команду, создав алиас, или, как я, вывести показания в Conky - добавить в конфигурационный файл conky строки (если у вас нет проблемы с часовыми поясами, как у меня, то строку "export TZ=Asia/Yekaterinburg;" надо убрать):
Today total:${alignr}${execi 60 export TZ=Asia/Yekaterinburg; vnstat -d -i ppp0 | grep "`date +"%m\/%d\/%y"`" | awk '{print $8 " " $9}'} Month total:${alignr}${execi 120 export TZ=Asia/Yekaterinburg; vnstat -m -i ppp0 | grep "`LANG=en_GB.UTF-8 date +"%b '%y"`"| awk '{print $9 " " $10}'}
И получить (скорость считается встроенной в conky функцией):
Вот и все.
Надеюсь, кому-нибудь пригодиться. Вопросы можно задать в комментариях, чем смогу - помогу.
Автор статьи: ALPom
http://www.linuxrussia.com/2014/04/ubuntu-vnstat.html
|