vnStat - легкий сетевой консольный монитор
vnStat - это консольный монитор сетевого трафика для Linux и BSD, который ведет журнал сетевого трафика для выбранных интерфейсов. Он использует статистику сетевого интерфейса, предоставленную ядром, в качестве источника информации. Это означает, что vnStat на самом деле не будет анализировать трафик, а также обеспечивает легкое использование системных ресурсов.
В этом уроке мы рассмотрим:
- Особенности
- Монтаж
- конфигурация
- Запустите Systemd Service
- Использование (из командной строки)
- Conky пример
Особенности
- быстро и просто установить и запустить
- собранная статистика сохраняется через перезагрузки системы
- может контролировать несколько интерфейсов одновременно
- несколько вариантов вывода
- итоги, ежечасно, ежедневно, ежемесячно, еженедельно, топ 10 дней
- необязательный вывод изображения png (с использованием libgd)
- месяцы могут быть настроены в соответствии с расчетным периодом
- легкий, минимальное использование ресурсов
- одинаково низкое использование процессора независимо от трафика
- можно использовать без прав root
- онлайн-редактор настроек цвета
Монтаж
nvStat находится в официальных репозиториях, поэтому нет необходимости ссылаться на новый ppa. Для установки создайте экземпляр терминала с помощью Ctrl+ Alt+ Tи введите в командной строке:
sudo apt-get install vnstat
После установки оставьте терминал открытым для следующих разделов. Перезагрузка не требуется.
конфигурация
Выберите предпочтительный сетевой интерфейс и отредактируйте переменную Interface /etc/vnstat.conf
соответствующим образом. Чтобы получить список всех интерфейсов, доступных для vnstat, используйте:
vnstat --iflist
Чтобы начать мониторинг определенного интерфейса, вы должны сначала инициализировать базу данных. Каждому интерфейсу нужна своя база данных. Команда для инициализации таковой для интерфейса eth0:
sudo vnstat -u -i eth0
Запустите Systemd Service
После введения интерфейса (ов) и проверки файла конфигурации. Вы можете запустить процесс мониторинга через systemd
:
sudo systemctl start vnstat.service
Чтобы сделать эту услугу постоянным использованием:
sudo systemctl enable vnstat.service
Отныне vnstat
мы будем собирать данные об использовании сети в фоновом режиме, используя такой небольшой процент процессорного времени, что он не будет отображаться в списке 9 самых популярных процессов (на моей машине) от conky (системный монитор).
Использование (из командной строки)
Запрос сетевого трафика:
vnstat -q
Просмотр использования сетевого трафика в реальном времени:
vnstat -l
Чтобы найти больше вариантов, используйте:
vnstat --help
Ежемесячные итоги
Чтобы увидеть итоги за месяц, используйте:
rick@dell:~$ 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
воскресенье, которое объясняет, почему общее количество за неделю меньше.
Удобный код для достижения этой цели:
${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 $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}
Чтобы сэкономить место в моем узком окне, я использовал «G» вместо «GiB», «M» вместо «MiB» и т. Д. Если у вас есть больше экранных настроек, измените substr ($10, 1, 1)
на $10
и то же для $9
.
Возможно, вам придется изменить eth0
на wlan0
или eth1
и т. Д. В зависимости от имени вашей сети, о котором сообщает ifconfig
.