vnStat - мережевий монітор на основі малої ваги
vnStat - це консольний монітор мережевого трафіку для Linux та BSD, який веде журнал мережевого трафіку для вибраних інтерфейсів. Він використовує статистику мережевого інтерфейсу, надану ядром, як джерело інформації. Це означає, що vnStat насправді не буде нюхати жоден трафік, а також забезпечує легке використання системних ресурсів.
У цьому підручнику ми розглянемо:
- Особливості
- Установка
- Конфігурація
- Запустіть Systemd Service
- Використання (з командного рядка)
- Приклад відображення в режимі реального часу
Особливості
- швидко та просто встановити та запустити
- зібрана статистика зберігається через перезавантаження системи
- може контролювати декілька інтерфейсів одночасно
- кілька варіантів виводу
- підсумок, щогодини, щодня, щомісяця, тиждень, топ 10 днів
- необов'язковий вихід PNG-зображення (за допомогою libgd)
- місяці можуть бути налаштовані відповідно до періоду платежів
- легке, мінімальне використання ресурсів
- таке ж низьке використання процесора незалежно від трафіку
- можна використовувати без дозволів root
- онлайн-редактор конфігурації кольорів
Установка
nvStat знаходиться в офіційних сховищах, тому не потрібно посилатися на новий ppa. Щоб встановити, створіть екземпляр Terminal за допомогою Ctrl+ Alt+ Tта введіть у відповідь:
sudo apt-get update
sudo apt-get install vnstat
Після встановлення тримайте термінал відкритим для наступних розділів. Не потрібно перезавантажувати.
Конфігурація
Виберіть бажаний мережевий інтерфейс і відповідно відредагуйте змінну інтерфейсу /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's (на моїй машині).
Використання (з командного рядка)
Запит на мережевий трафік:
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 - популярний легкий системний монітор, який використовується у багатьох дистрибутивах Linux. Ви можете показати підсумкові пропускну здатність vnStat на своєму химерному дисплеї так:
30 секунд .gif відповідного розділу Конкі
Код Конкі для створення цього дисплея:
${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