Выбрал утилиты 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. Конечно же, это было баловство. У меня оптический терминал, который считает проходящий трафик. И вполне достаточно обнулять его счетчик в начале месяца, чтобы увидеть потребление за месяц. У кого интернет через мобильного провайдера, потребление можно всегда посмотреть на сайте провайдера.
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. Конечно же, это было баловство. У меня оптический терминал, который считает проходящий трафик. И вполне достаточно обнулять его счетчик в начале месяца, чтобы увидеть потребление за месяц. У кого интернет через мобильного провайдера, потребление можно всегда посмотреть на сайте провайдера.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.