vnStat - легкий сетевой консольный монитор
vnStat - это консольный монитор сетевого трафика для Linux и BSD, который ведет журнал сетевого трафика для выбранных интерфейсов. Он использует статистику сетевого интерфейса, предоставленную ядром, в качестве источника информации. Это означает, что vnStat на самом деле не будет анализировать трафик, а также обеспечивает легкое использование системных ресурсов.
В этом уроке мы рассмотрим:
- особенности
- Установка
- конфигурация
- Запустите Systemd Service
- Использование (из командной строки)
- Conky Real Time Display пример
особенности
- быстро и просто установить и запустить
- собранная статистика сохраняется через перезагрузки системы
- может контролировать несколько интерфейсов одновременно
- несколько вариантов вывода
- итоги, ежечасно, ежедневно, ежемесячно, еженедельно, топ 10 дней
- необязательный вывод изображения png (с использованием libgd)
- месяцы могут быть настроены в соответствии с расчетным периодом
- легкий, минимальное использование ресурсов
- одинаково низкое использование процессора независимо от трафика
- можно использовать без прав root
- онлайн-редактор настроек цвета
Установка
nvStat находится в официальных репозиториях, поэтому нет необходимости ссылаться на новый ppa. Для установки создайте экземпляр терминала с помощью Ctrl+ Alt+ Tи введите в командной строке:
sudo apt-get update
sudo apt-get install vnstat
После установки оставьте терминал открытым для следующих разделов. Перезагрузка не требуется.
конфигурация
Выберите предпочтительный сетевой интерфейс и отредактируйте переменную Interface /etc/vnstat.conf
соответствующим образом. Чтобы получить список всех интерфейсов, доступных для vnstat, используйте:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
Чтобы начать мониторинг определенного интерфейса, вы должны сначала инициализировать базу данных. Каждому интерфейсу нужна своя база данных. Команда для инициализации таковой для интерфейса eth0:
sudo vnstat -u -i enp59s0
Запустите Systemd Service
После введения интерфейса (ов) и проверки файла конфигурации. Вы можете запустить процесс мониторинга через systemd
:
sudo systemctl start vnstat.service
Чтобы сделать эту услугу постоянным использованием:
sudo systemctl enable vnstat.service
Отныне vnstat
мы будем собирать данные об использовании сети в фоновом режиме, используя такой небольшой процент процессорного времени, что он не будет отображаться в списке 9 самых популярных процессов (на моей машине) от conky (системный монитор).
Использование (из командной строки)
Запрос сетевого трафика:
vnstat -q
Просмотр использования сетевого трафика в реальном времени:
vnstat -l
Чтобы найти больше вариантов, используйте:
vnstat --help
Ежемесячные итоги
Чтобы увидеть итоги за месяц, используйте:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
Conky Real Time Display пример
Conky - это популярный легкий системный монитор, используемый во многих дистрибутивах Linux. Вы можете отобразить итоговые значения пропускной способности vnStat на своем простом дисплее следующим образом:
30 секунд .gif соответствующего раздела Конки
Код Conky для создания этого дисплея:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 10 vnstat -i enp59s0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
Для экономии места на рабочем стол, мое узкое носатое окно использует «G» вместо «GiB», «М» вместо «MiB», и т.д. Если у вас есть больше экрана изменение недвижимости substr ($10, 1, 1)
в $10
и сделать то же самое$9
.
Вы , возможно , придется изменить , enp59s0
чтобы eth0
, wlan0
или eth1
, и т.д. в зависимости от имени сети сообщает ifconfig
.
vnstat