метка: trafd

Подсчёт трафика с помощью trafd

Хорошая статья о возможностях trafd находится здесь — http://www.hub.ru/archives/2061 В своей заметке я выбрал лишь то, что нужно действительно мне и подправил пару неточностей.

Установим trafd:

# cd /usr/ports/net-mgmt/trafd
# make install clean

Создаем файл, куда будет писаться статистика (fxp0 — название интерфейса с которого будем собирать статистику):

# touch /usr/local/var/trafd/trafd.fxp0

Запускаем сам сбор статистики:

# /usr/local/bin/trafd -i fxp0

Эту же строчку добавим в /etc/rc.conf для автоматического старта при запуске. В идеале в /etc/rc.conf нужно прописать
trafd_enable=»YES»
trafd_ifaces=»fxp0″

но с этими строчками trafd не запустился, поэтому для автоматического старта прописываем в cron  такую строчку:

@reboot /usr/local/bin/trafd -i fxp0
Проверяем работу демона:

ps ax | grep trafd

7753 ?? Ss 0:00.07 /usr/local/bin/trafd -i fxp0
7826 p0 R+ 0:00.00 grep trafd

Добавим задачу в crontab чтобы данные сохранялись каждые 3 часа:

0 */3 * * * /usr/local/bin/trafsave fxp0

Посмотреть отчет за период со времени последнего сохранения:

# traflog -n -i fxp0 (-n указывает не преобразовывать IP адреса)

Посмотреть перечень записей:

# traflog -l -i fxp0

Примерный вывод результата:

# Started Dumped Data All Recs
001 Dec 10 16:44:46 Dec 10 16:49:54 18638 25246 7
002 Dec 10 16:49:54 Dec 10 16:50:45 22 55 1
003 Dec 10 16:50:45 Dec 10 16:51:15 8607 9111 1
004 Dec 10 16:51:15 Dec 10 20:00:01 68463394 72252858 349
005 Dec 10 20:00:01 Dec 11 00:00:01 1552189274 1621174536 577

Допустим, перед нами стоит задача посчитать сколько трафика скачано с определенного IP за весь период подсчётов. Выяснить это можно так:

traflog -n -i fxp0 -s from all to 10.10.51.79 | grep Summary

Если требуется высчитать трафик за определенный период, то добавляем ключи, указывающие на начало и конец отчетного периода (параметры -b <первая запись> -e <последняя запись>):

traflog -n -i fxp0 -s -b1 -e33 from all to 10.10.51.79 | grep Summary

Команда » | grep Summary» отсекает вывод излишне подробной статистки, откуда и сколько байт пришло, это бывает полезно, если нужно смотреть статистику используя медленные каналы связи.

Один из примеров использования trafd — подсчет трафика одной из игрушек, использующей порты 2106 и 7777, прошедшего через внешний интерфейс за определенный период:

traflog -n -i tun0 -b1 -e28 -s port 7777 port 2106 | grep Summary

Ссылки: