Підрахунок трафіку в ubuntu за допомогою vnstat

Один з читачів мого блогу Олександр з ніком ALPom знову порадував дуже цікавою і корисною статтею. За що йому велика подяка.

Доброго вам дня.
Коли я перейшов на 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 (пам'ятаємо, що показання програми змінюються не безперервно, а стрибками), можна подивитися, що нарахувала програма:

Підрахунок трафіку в ubuntu за допомогою vnstat

Без параметрів - просто загальна інформація про трафік:
rx - отримано,
tx - відправлено,
total - всього,
estimated - прогнозоване.

Усе інше, думаю, зрозуміло.

Можна подивитися по конкретному інтерфейсу:
vnstat -i ppp0

Підрахунок трафіку в ubuntu за допомогою vnstat

avg. rate - середня швидкість.

Також, можна подивитися по місяцях,

vnstat -m -i ppp0

vnstat -w -i ppp0

Підрахунок трафіку в ubuntu за допомогою vnstat

Підрахунок трафіку в ubuntu за допомогою vnstat

vnstat -h -i ppp0

Підрахунок трафіку в ubuntu за допомогою vnstat

Також розповім про маленьку хитрість.
Справа в тому, що оператор стільникового зв'язку обнуляє добовий трафік опівночі за часом Єкатеринбурга, а я і мій комп'ютер живемо за московським часом.

Тобто vnstat починає нову добу опівночі по Москві, а оператор - о 22 годині (різниця з Єкатеринбургом в 2 години), і трафік показується трохи неправильно.

Я вирішив цю проблему, запустивши програму в іншому часовому поясі.

Для цього відкриваємо скрипт, який запускає демон vnstat при старті системи:

sudo gedit /etc/init.d/vnstat

Вставляємо рядок: export TZ = Asia / Yekaterinburg, щоб вийшло так:

Підрахунок трафіку в ubuntu за допомогою vnstat

Цим ми змусимо програму запускатися в тимчасовій зоні Єкатеринбурга (і правильно вважати трафік).

Тепер програмою можна користуватися.

Набирати кожен раз команду в терміналі не дуже зручно.

Можна, наприклад, скоротити
команду, створивши алиас, або, як я, вивести свідчення в Conky - додати в конфігураційний файл conky рядки (якщо у вас немає проблеми з часовими поясами, як у мене, то рядок "export TZ = Asia / Yekaterinburg;" треба прибрати):

І отримати (швидкість вважається вбудованої в conky функцією):

Підрахунок трафіку в ubuntu за допомогою vnstat

Вам також може сподобатися:

  • Підрахунок трафіку в ubuntu за допомогою vnstat
    Планувальник завдань в Ubuntu 14.04 / ...
  • Підрахунок трафіку в ubuntu за допомогою vnstat
    Огляд і установка Toggl - ...
  • Підрахунок трафіку в ubuntu за допомогою vnstat
    Встановити хмарне сховище ...
  • Підрахунок трафіку в ubuntu за допомогою vnstat
    Автоматичне включення ...

Після оновлення до Ubuntu 14.04 vnstat з незрозумілих причин перестала працювати. Неправильно відображався трафік, навіть одиниці виміру (які вже там гігабайти, на мобільному щось інтернеті, за рік б стільки набрати). Весь час показувала однакові значення, які оновлювалися тільки по vnstat -u. Вирішити не вдалося, довелося видалити.

Схожі статті