84-Учет трафика

Выбрал утилиты Vnstat и Vnstati, модуль 75-vnstat.sb в Облаке

Vnstat - очень простой инструмент для учёта трафика, не требует тонкой настройки, просто считает трафик и позволяет просматривать статистику.

Чтобы начать подсчёт трафика надо выполнить команду, которая создаст базу данных для указанного интерфейса:
vnstat -u -i enp1s0

Подсчёт трафика происходит автоматически, база данных обновляется при выключении сетевого устройства. Но есть возможность обновить базу вручную:
vnstat -u

Для просмотра статистики достаточно просто ввести:
vnstat

Также можно использовать ключи:
  -h,  --hours          по часам
  -d,  --days           за день
  -m,  --months         за месяц
  -w,  --weeks          за неделю
  -t,  --top10          top10
  -s,  --short          короткий вывод
  -l,  --live           мониторинг в реальном времени

По умолчанию eth0, поэтому и пришлось указать сетевой интерфейс, кроме того, меня будет интересовать, в основном, трафик за месяц:
vnstat -m -i enp1s0


Полезно объединить:
vnstat -u && vnstat

Vnstati это утилита для визуализации статистики, с ней тоже все просто. Вот, например, короткий скрипт, который выводит на экран статистику (здесь - за день) в виде картинки, traf_view:
#! /bin/bash
vnstat -u
vnstati -vs -d -i enp1s0 -o /tmp/vnstati.png
feh /tmp/vnstati.png

Обе утилиты имеют еще некоторые возможности, не забывайте про ключ --help и утилиту man!

Данные по интерфейсам хранятся в /var/lib/vnstat/

Для автозапуска при старте ОС можно добавить в /root/.xinitrc:
vnstat -u -i enp1s0 &&

Остается придумать, как при штатном выключении значком в трее сохранять последние данные, т.е., обновить базу: vnstat -u
При выключении выполняется скрипт /run/initramfs/shutdown, в него и нужно поместить эту строку. Но откуда он там берется, сам скрипт...
Хорошо, для простоты пробую вставлять в скрипт строку 8 сразу после старта ОС:
sed -i "8i vnstat -u &&" /run/initramfs/shutdown &&
добавив и эту команду в автозапуск

Увы, данные не меняются, т.е. vnstat -u не выполняется почему-то. Хотя в скрипте появляется добавленная строка.

Можно просто забыть о значке выключения в трее, и управлять питанием горячими клавишами таким образом (у меня спец.клавиша с кодом 248):
# Питание
248 :Exec vnstat -u && systemctl suspend
Mod4 248 :Exec vnstat -u && systemctl poweroff
Mod1 Mod4 248 :Exec vnstat -u && systemctl reboot

Проверяю, весь трафик учитывается и продолжает добавляться после перезагрузки.

P.S. Конечно же, это было баловство. У меня оптический терминал, который считает проходящий трафик. И вполне достаточно обнулять его счетчик в начале месяца, чтобы увидеть потребление за месяц. У кого интернет через мобильного провайдера, потребление можно всегда посмотреть на сайте провайдера.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.