vnstatПовседневные будни Linux администраторов не ограничиваются исключительно разворачиванием новых программных и аппаратных комплексов. Абсолютное большинство времени тратится на поддержание инфраструктуры, а это возможно только при четком понимании процессов, происходящих в инфраструктуре. Подобное понимание дают нам мощные системы мониторинга, например Zabbix. Но иногда на месте нужно получить оперативную информацию по определенному виду ресурсов. Тогда на помощь спешат маленькие, легкие, но мощные утилиты диагностики. Каждая из этих утилит готова поделиться сокровенной информацией о текущем состоянии системы и ее узких местах. Недавно я писал об одной из них, позволяющей следить за состоянием MySQL, именуемой mytop. Сегодня я расскажу об утилите vnStat, которая отлично справляется с мониторингом сетевой активности.

vnStat получает данные из ядра Linux, т.е. не снифит поток, благодаря чему работает очень шустро и не вызывает вопросов к безопасности. Также она отлично делает свое дело без root привилегий.

Утилита считает трафик для каждого интерфейса отдельно, разделяя входящий и исходящий. Умеет строить наглядные отчеты с графиками нагрузки. Уровни детализации этих графиков: месяц, неделя, день, час. Также всегда можно посмотреть текущую активность в сети.

vmStat работает на всех *nix системах, но традиционно я расскажу про установку, настройку и использование на примере Debian.

Утилита имеется в наличии в стандартном репозитории Debian, так что поставить ее можно простой командой:

Если в нашей системе более одного сетевого интерфейса, в момент установки система сообщит, что сервис vnStat не смог запуститься.

Без паники, достаточно определить, какие интерфейсы нужно мониторить и запустить команду:

где eth0 — тот самый интерфейс.

Сразу после установки мы можем запустить vnStat.

Выданная ошибка по сути ошибкой не является, просто система говорит, что данных нет. Достаточно подождать какое-то время, а пока данные копятся, можем посмотреть, что происходит с сетевым интерфейсом в режиме онлайн:

Итак, пока мы смотрели за активностью интерфейса, данные для старта наверно уже накопились, так что повторим запуск vnStat без параметров:

На выходе нам вернулась таблица, в которой отражена активность за последний день и месяц.

Теперь посмотрим отчеты по часам, неделям и месяцам.

Статистику по часам отобразим командой:

Мы получили удобный для чтения график с активностью по часам за последние сутки.

Утилита с ключом -m даст нам представление о активности по месяцам.

Статистику по неделям можно получить с помощью ключа -w

Отчет по дням получим, указав ключ -d

Ключ -t поможет получить топ 10 дней по объему трафика.

Сбросить статистику можно ключом -r.

Получить общую статистику по нескольким интерфейсам мы можем, указав имена интерфейсов через знак +. Например:

Также vnStat умеет выгружать данные в xml.

На этом все, спасибо за внимание.