vnStat — незаметный сторож вашего сетевого трафика
Представьте ситуацию: в конце месяца приходит счет за интернет, а трафика израсходовано в два раза больше обычного. Кто виноват? Автоматические обновления, торрент-клиент или сосед воспользовался вашим Wi-Fi? Ответить на эти вопросы поможет vnStat — консольный монитор трафика, который работает в фоне и ничего не просит взамен.
Что в коробке?
vnStat — это не очередной тяжеловесный анализатор трафика вроде Wireshark. Это минималистичная утилита на C, которая:
- Использует встроенные счетчики ядра Linux/BSD (не перехватывает пакеты)
- Хранит статистику с разной детализацией (от 5 минут до года)
- Потребляет минимум ресурсов даже на слабых серверах
Главный козырь — долгосрочное хранение данных. По умолчанию vnStat сохраняет:
- 5-минутные интервалы за последние 48 часов
- Часовую статистику за 4 дня
- Дневные отчеты за 2 месяца
- Годовые данные — бессрочно
И всё это в компактных текстовых файлах, которые не займут больше пары мегабайт даже за несколько лет наблюдений.
Пять причин попробовать
-
Нулевой оверхед Работает через
/procиsysctl, не нагружая CPU. На моем Raspberry Pi 3B+ процесс vnStat занимает 0% процессора и всего 4 МБ памяти. -
Гибкость хранения Конфигом можно настроить любые периоды хранения. Хотите 10-минутные интервалы за год? Пожалуйста:
Interval = 10 MonthRotate = 12 -
Визуализация без боли С опциональным GD-модулем vnStat рисует графики прямо в консоли или сохраняет PNG. Для автоматических отчетов — идеально.
-
Docker-friendly Официальный образ на Docker Hub разворачивается одной командой с пробросом всех нужных сокетов.
-
Не только eth0 Мониторит любые интерфейсы — от VPN-туннелей (tun0) до виртуальных мостов (docker0).
Как это выглядит на практике
После установки (apt/yum/pacman) достаточно запустить:
vnstat -l # live-мониторинг
vnstat -d # статистика по дням
vnstat -m # по месяцам
Вывод для -d:
eth0 / daily
day rx | tx | total | avg. rate
------------------------+-------------+-------------+-------------
Today 125 MiB | 45 MiB | 170 MiB | 16 kbit/s
------------------------+-------------+-------------+-------------
Estimated 500 MiB | 180 MiB | 680 MiB |
Для кого этот инструмент?
- Админы серверов — контроль неожиданных скачков трафика
- Разработчики IoT — мониторинг расхода данных на embedded-устройствах
- Любители статистики — анализ своих сетевых привычек
- Облачные мигранты — учет трафика в виртуальных машинах
Под капотом
- Язык: чистый C (переносимость и минимальные зависимости)
- Хранение: текстовые файлы в /var/lib/vnstat
- Сбор данных: через cron (по умолчанию раз в 5 минут)
- Лицензия: GPLv2 (можно встраивать в коммерческие решения)
Альтернативы
- iftop — только live-трафик без истории
- nload — красивые графики, но краткосрочные данные
- Darkstat — веб-интерфейс, но требует больше ресурсов
Итог
vnStat — это как бортовой компьютер для вашего сетевого интерфейса. Установил, забыл, а когда нужно — всегда под рукой точные цифры без лишней магии. Особенно рекомендую:
- Владельцам лимитных тарифов
- Администраторам облачных VPS
- Всем, кто хочет понять, куда уходит интернет
Попробуйте — первый отчет появится уже через 5 минут после установки.
P.S. Автор принимает багрепорты через GitHub Issues и даже отвечает в IRC (редкость в 2025 году!).
