vnStat - Сетевой монитор с малым весом на основе консоли
vnStat - это консольный сетевой монитор трафика для Linux и BSD, который хранит журнал сетевого трафика для выбранного интерфейса (ов). Он использует статистику сетевого интерфейса, предоставленную ядром в качестве источника информации. Это означает, что vnStat фактически не будет обнюхивать какой-либо трафик, а также обеспечивает легкое использование системных ресурсов.
В этом уроке мы рассмотрим:
- Особенности
- Установка
- Конфигурация литий>
- Запустить службу Systemd
- Использование (из командной строки)
- Пример Conky
Функции
- быстро и просто установить и запустить
- собранная статистика сохраняется при перезагрузке системы.
- может одновременно контролировать несколько интерфейсов.
- несколько параметров вывода
- сводка, ежечасно, ежедневно, ежемесячно, еженедельно, топ-10 дней
- необязательный вывод изображения png (с использованием libgd)
- месяцы могут быть настроены для отслеживания периода оплаты.
- свет, минимальное использование ресурсов
- то же самое низкое использование процессора, несмотря на трафик
- может использоваться без прав root
- редактор конфигурации цветной печати в Интернете
Установка
nvStat находится в официальных репозиториях, поэтому нет необходимости связываться с новым ppa. Для установки создайте экземпляр терминала с помощью Ctrl + Alt + T и введите в командной строке:
sudo apt-get install vnstat
После установки держите терминал открытым для следующих разделов. Нет необходимости перезагружаться.
Конфигурация
Выберите предпочтительный сетевой интерфейс и отредактируйте переменную интерфейса в /etc/vnstat.conf
соответственно. В список всех интерфейсов, доступных для vnstat, используйте:
vnstat --iflist
Чтобы начать мониторинг определенного интерфейса, вы должны сначала инициализировать базу данных. Каждому интерфейсу нужна собственная база данных. Команда для инициализации для интерфейса eth0:
sudo vnstat -u -i eth0
Запустить службу Systemd
После введения интерфейса (ов) и проверки файла конфигурации. Вы можете запустить процесс мониторинга через systemd
:
sudo systemctl start vnstat.service
Чтобы сделать эту услугу постоянной:
sudo systemctl enable vnstat.service
С сегодняшнего дня vnstat
будет собирать сетевое использование в фоновом режиме, используя такой небольшой процент процессора, который он не отображает в списке 9 процессов (на моем компьютере) на conky's (системный монитор).
Использование (из командной строки)
Запросить сетевой трафик:
vnstat -q
Просмотр использования сетевого трафика:
vnstat -l
Чтобы найти дополнительные параметры, используйте:
vnstat --help
Ежемесячные итоги
Чтобы просмотреть месячные итоговые значения, используйте:
[email protected]:~$ vnstat -m
eth0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Nov '16 76.31 MiB | 2.03 MiB | 78.35 MiB | 10.45 kbit/s
------------------------+-------------+-------------+---------------
estimated 3.13 GiB | 84 MiB | 3.21 GiB |
Пример Conky
Conky - популярный легкий системный монитор, используемый во многих дистрибутивах Linux. Вы можете vnStat использовать итоговые значения для вашего conky-дисплея следующим образом:
р>
Обратите внимание, что при снятии снимка Yesterday
было в воскресенье, что объясняет, почему общее количество в неделю меньше.
Код conky для этого:
${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 300 vnstat -i eth0 | grep "today" | awk '{print " "substr (, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print " "substr (, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print " "substr (, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "'date +"%b '%y"'" | awk '{print " "substr (, 1, 1)}'}
${color orange}${voffset 2}${hr 1}
Чтобы сэкономить место в моем узком окне, я использовал вместо «Gi», «M» вместо «MiB» и т. д. Если у вас больше изменений на экране, измените substr (, 1, 1)
на
и то же самое для
. р>
Возможно, вам придется изменить eth0
на wlan0
или eth1
и т. д. в зависимости от вашего сетевого имени, сообщенного ifconfig
.