Мониторинг трафика с vnStat: установка и использование
Быстрая навигация
- Установить vnstat

Зачем нужен vnStat
Как владелец сервера полезно отслеживать использование сети по месяцам. Провайдеры хостинга часто выставляют плату за переданный трафик, поэтому важно видеть месячную и дневную статистику. В отличие от утилит реального времени, таких как htop или glances, vnStat хранит исторические данные и строит агрегаты по часам, дням и месяцам.
Краткое определение: vnStat — это демон и утилита для учёта сетевого трафика, которая сохраняет счётчики по интерфейсам и позволяет генерировать текстовые и графические отчёты.
Важно: vnStat начинает считать трафик только после установки — он не восстановит историю, которой у вас не было.
Установка
Для Debian/Ubuntu:
sudo apt install vnstatРекомендуется также установить vnstati для вывода графиков в PNG:
sudo apt install vnstatiЕсли в менеджере пакетов нет готового пакета, можно скачать исходники и собрать с помощью make. На системах RHEL/CentOS можно использовать EPEL-репозиторий, на Arch Linux пакет доступен в официальных репозиториях.
Первичный запуск и ожидание
vnStat сразу начнёт собирать данные, но потребуется время, чтобы накопить достаточную историю для полезных отчётов. Через несколько часов или дней запустите:
vnstatСтроки показывают полученные GiB (RX) и переданные GiB (TX), а также общий объём и оценку при неполных логах. Обратите внимание: значения отображаются в гибибайтах (GiB), а не гигабайтах (GB).
Если нужен почасовой вывод:
vnstat -h
Генерация графиков
Чтобы получить изображение с кратким сводным отчётом (замените eth0 на нужный интерфейс):
vnstati -s -i eth0 -o ~/network-log.png
Для почасового графика:
vnstati -h -i eth0 -o ~/network-log.png
Экспорт и интеграция
Для передачи логов в внешние системы можно экспортировать данные в JSON:
vnstat --json > vnstat-log.jsonJSON можно парсить в своих скриптах, отправлять в ELK/Prometheus-подобные системы или хранить в облачном хранилище для ретроспективного анализа.
Быстрый набор команд (cheat sheet)
- Показать общую статистику:
vnstat- Показать статистику за сегодня и вчера:
vnstat -d- Показать статистику за месяц:
vnstat -m- Показать почасовую статистику:
vnstat -h- Экспорт в JSON:
vnstat --json- Генерация сводного PNG:
vnstati -s -i eth0 -o ~/network-log.pngКогда vnStat не подойдёт или окажется ограничен
- Если вам нужен детальный сетевой трафик по соединениям (портам, PID, хостам), vnStat не подойдёт — используйте ntopng, nfdump, Wireshark или инструмент потокового анализа.
- vnStat не собирает трафик ретроспективно — после установки у вас нет истории до установки.
- В виртуальных окружениях с динамическими именами интерфейсов проверьте, что выбран правильный интерфейс (например, ens3, eth0, eth0:1 или аналог).
- При использовании сетевых мостов или контейнеров нужно учитывать, какие интерфейсы действительно передают трафик сервиса.
Альтернативы и дополнения
- Облачные решения: AWS CloudWatch, GCP Cloud Monitoring — собирают метрики на уровне провайдера.
- Инструменты анализа в реальном времени: iftop, iptraf, glances.
- Для глубокой детализации по потокам: ntopng, nfdump.
Ментальные модели и рекомендации
- Собирать данные всегда лучше заранее: настройте мониторинг до начала пиковых нагрузок.
- Сравнивайте месячные и недельные тренды, чтобы отличать разовые пики от постоянного роста.
- Используйте пороговые оповещения в системе мониторинга, если трафик выходит за прогнозируемые границы.
Роли и чек-листы
Администратор сервера:
- Установить vnstat и vnstati.
- Убедиться, что демон запущен и привязан к нужным интерфейсам.
- Настроить ротацию и бэкап файлов с логами.
Оператор облака:
- Сравнить данные vnStat с метриками провайдера.
- Проверить, не дублируются ли сборы метрик для учёта затрат.
Разработчик приложения:
- При необходимости интегрировать экспорт JSON в CI/анализ использования.
- Проверить влияние изменений приложения на сетевой профиль.
Конфигурация и совместимость
- Debian/Ubuntu: apt install vnstat
- RHEL/CentOS: включите EPEL и установите пакет
- Arch Linux: pacman -S vnstat
- В некоторых окружениях потребуется включить сбор статистики для виртуальных интерфейсов вручную.
Конфиденциальность и перенос данных
Если вы экспортируете логи или отправляете их в облако, помните про конфиденциальность: vnStat не содержит payload пакетов, только счётчики трафика, но всё равно проверьте корпоративные правила и требования GDPR перед передачей агрегированных метрик третьим сторонам.
Критерии приёмки
- vnStat установлен и демон запущен.
- Данные появляются в выводе vnstat через несколько часов.
- Автоматически генерируемые PNG сохраняются по расписанию (при необходимости).
- Экспорт в JSON проходит и может быть обработан внешней системой.
Резюме
vnStat — простое и удобное решение для долговременного учёта сетевого трафика на Linux. Установите vnstat и vnstati, дождитесь накопления данных, используйте команды и экспорт JSON для интеграции в конвейер мониторинга.
Ключевые действия: установить, выбрать интерфейс, подождать накопления данных, при необходимости экспортировать или генерировать графики.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента