Подсчет трафика в Centos
Всем привет, сегодня хочу рассказать как производится подсчет трафика в Centos 7, да и в 6 версии, так же данная утилита подойдет и для Debian. Для чего может быть необходимость в подсчете трафика в Centos, примером может быть хостинг, где есть ограничение по трафику.
И так мы с вами установили и настроили сеть в CentOS 7. Теперь можем двигаться дальше, а именно увеличивать его функционал.
Выбор утилиты учета трафика
Повыбирав утилиту я остановил свой выбор на тулзе vnStat. vnStat это простая утилита к которой при желании можно донастроить web интерфейс, для красивого отображения статистики по трафику.
Установка в Debian
Выполняем команду
Установка в CentOS
Для установки вам нужно сначала добавить репозиторий EPEL
Устанавливаем командой
Смотрим документацию по программе
Задаем сетевой интерфейс который мы с вами будем мониторить на учет трафика, у меня это будет eth0.
Список доступных интерфейсов выводится командой
Допустим прошло какое то количество времени и мы можем сделать подсчет трафика в Centos, Rx – полученные, Tx – переданные пакеты.
Суммарная статистика по сетевому интерфейсу eth0
<
учет трафика за сутки
статистика за неделю.: vnstat -i eth0 -w
статистика за месяц: vnstat -i eth0 -m
топ10 дней: vnstat -i eth0 –top10
Если вы захотите вывести статистику по часам, то вводим вот такую команду
Отображение подсчета трафика в реальном времени
vnstat -i eth0 -l
Чтобы стереть собранные данные по учету трафика нужно, стопорнуть службу, и удалить базу и создать снова.
Gui интерфейс
Для того, чтобы у вас был красивые картинки, то можно воспользоваться скриптами vnstat_php_frontend-1.5.1.tar, которые преобоазовывают логи в графики.
Сами скрипты на php, создаете отдельный виртуальных хост в Apache, ну или можете копирнуть папку в домашнюю папку существующего хоста, вводите в браузере http://адрес вашего хоста/nvStat. Изначально там будет нулевая статистика. Требуется настройка. Производится она через файл config.php, он находится в той скачанной папке со скриптами vnstat PHP frontend.
В конфигурационном файле интересная часть файла вот такая.
Для управления Web интерфейсом будет использован дамп базы данных по интерфейсу, база данных лежит в /var/lib/vnstat). Для отображения графика по сетевому интерфейсу eth0 надо создать dump базы eth0, делается это командой sudo vnstat –dumpdb -i eth0 > /var/lib/vnstat/dumps/vnstat_dump_eth0 , и указать в конфигурационном файле в параметр $data_dir путь к директории с дампами базы данных в моём случае
$data_dir = '/var/lib/vnstat/dumps/';
Но так как статистика всё время меняется, надо всё время обновлять этот дамп, с этим отлично справляется cron. Просто внесём эту команду в таблицу задач cron
*/15 * * * * sudo vnstat -u -i eth0 */15 * * * * sudo vnstat --dumpdb -i eth0 > /var/lib/vnstat/dumps/vnstat_dump_eth0
У меня ещё через cron обновляется сама база статистики каждые 15 минут. Всё теперь зайдите на сайт вашей статистики, там уже будет вся статистика.
Материал сайта pyatilistnik.org