URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 47089
[ Назад ]

Исходное сообщение
"Тематический каталог: Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"

Отправлено auto_topic , 22-Дек-08 11:33 
Обсуждение статьи тематического каталога: Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)

Ссылка на текст статьи: http://www.opennet.me/base/net/trafd_stat2.txt.html


Содержание

Сообщения в этом обсуждении
"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено skif , 22-Дек-08 11:33 
опечатки бы еще поправить суперски былобы

"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено anonymous , 22-Дек-08 11:52 
Программа не плоха, но она теряет пакеты. Причём всё зависит от характера трафика, иногда ничего не теряет, а иногда разница в подсчете достигала 20%. Она хороша для приблизительного подсчета.

"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено skif , 22-Дек-08 11:54 
на вскидку
/trafd/trafd_stat
/trafd/trafd_stat: /bin/date=20081221: not found
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..upload.txt: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..upload.txt: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..upload.txt: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..upload.txt: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..download.txt: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..download.txt: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..download.txt: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..download.txt: No such file or directory
cat: /usr/local/var/plain/.fxp0: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..upload.txt: No such file or directory
cat: /usr/local/var/plain/stat..upload.txt: No such file or directory
Null message body; hope that's ok
cat: /usr/local/var/plain/.fxp0: No such file or directory
/trafd/trafd_stat: cannot create /usr/local/var/plain/stat..download.txt: No such file or directory
cat: /usr/local/var/plain/stat..download.txt: No such file or directory
Null message body; hope that's ok

да кстати в портах для trafd путь другой
вообще лучше сначала все перепроверить чем делать статейку:)


"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено skeletor , 22-Дек-08 12:03 
skif - исправил ошибки, путь к порту. Кстати, у вас там неправильно путь прописан, поэтому и не находит файлы.
anonymous - хм, возможности проверить нет.

"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено skif , 22-Дек-08 12:37 
да каталог у меня действительно не верный был
/bin/date=`date -v-1d '+%Y%m%d'`
su: /bin/date=20081221: No such file or directory

:)


"я делаю чуть иначе"
Отправлено fx , 22-Дек-08 15:49 
я делаю чуть иначе, хотя и похоже. цель была: сделать удобную и простую систему подсчёта общего конторского трафика, но тоже без мускула и веб-морды с пхп (как во многих мануалах описывается).
к слову - я в курсе, что trafd может терять пакеты на слабом железе и при большой загрузке канала - но этих обстоятельств не обнаружено, и точность вполне подходящая...

предположим, трафик считается на fxp0, и предварительные настройки уже сделаны (trafd установлен и запущен, раз в несколько минут дамп из памяти сограняется на диск, раз в сутки сохраняется в базу /usr/local/var/trafd/trafd.fxp0).

daily.sh - запускается раз в ночь для подсчёта ежедневного трафика:

#!/bin/sh

date=`date -v-1d '+%Y-%m-%d'`
fpath=/usr/local/var/trafd/$date

/usr/local/bin/traflog -n -i fxp0 -F /usr/local/etc/traffic/in.cf > $fpath.in
/usr/local/bin/traflog -n -i fxp0 -F /usr/local/etc/traffic/out.cf > $fpath.out

echo "Traffic of $date..." > $fpath.sum
echo -n " INCOMING: " >> $fpath.sum
grep "Summary" $fpath.in |awk '{ print $5 }' >> $fpath.sum
echo -n " OUTGOING: " >> $fpath.sum
grep "Summary" $fpath.out |awk '{ print $5 }' >> $fpath.sum
cat $fpath.sum | mail -s "Daily traffic summary" root

при этом в файлах in.cf и out.cf указаны фильтры, для каких ip или подсетей считать суммарный трафик (в формате "to aa.bb.cc.dd/nn" и "from aa.bb.cc.dd/nn") - мне кажется, так удобнее, тем более что отдельно по разным ip мне не нужно (а если понадобится - потом можно отдельный скрипт написать).


monthly.sh - запускается в ночь на 1 число (важно: после daily.sh) для подсчёта суммарного трафика за прошедший месяц:

#!/bin/sh

date=`date -v-1m '+%Y-%m'`
fpath=/usr/local/var/trafd/$date

/usr/local/bin/traflog -ans -i fxp0 -F /usr/local/etc/traffic/in.cf > $fpath.in
/usr/local/bin/traflog -ans -i fxp0 -F /usr/local/etc/traffic/out.cf > $fpath.out

cp /usr/local/var/trafd/trafd.fxp0 $fpath.fxp0
rm /usr/local/var/trafd/trafd.fxp0

echo "Traffic of $date..." > $fpath.sum
echo -n " INCOMING: " >> $fpath.sum
grep "Summary" $fpath.in |awk '{ print $5 }' >> $fpath.sum
echo -n " OUTGOING: " >> $fpath.sum
grep "Summary" $fpath.out |awk '{ print $5 }' >> $fpath.sum
cat $fpath.sum | mail -s "Monthly traffic summary" root

при работе этих скриптов в /usr/local/var/trafd/ сохраняются как файлы с результатами ежедневной/ежемесячной обработки (подробно и краткой суммой), так и база trafd за каждый месяц - при этом "год-месяц[-день]" используются для наименования файлов, а при необходимости эти данные можно ещё как-то обработать (или удалить в случае ненужности).


"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено Добрый Дохтур , 23-Дек-08 00:14 
а чем вам не нравится ng_netflow & flow-tools?

"Подсчет трафика на Freebsd используя trafd без mysql (traffi..."
Отправлено skeletor , 24-Дек-08 12:02 
Не знаю, не пробовал. Мне нужно было что-то довольно простое и быстрое.

"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено none , 23-Дек-08 03:42 
>Программа не плоха, но она теряет пакеты.

идл у вас, скорее всего, на нуле, вот и теряет.


"Подсчет трафика на Freebsd используя trafd без mysql (traffi..."
Отправлено grayich , 23-Дек-08 05:05 
теряет, факт
ipacctd или ng_ipacct в этом плане на порядок лучше

"Подсчет трафика на Freebsd используя trafd без mysql (traffi..."
Отправлено skeletor , 24-Дек-08 12:03 
У меня оптика. На ней не теряются пакеты?

"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено Amamaew , 24-Дек-08 14:37 
Опыт использования trafd при подсчете больших объемов трафика проказывает, что в зависимости от периода съема тарфика значения счетчиков могут принимать и отрицательные значения ;-)))

"Подсчет трафика на Freebsd используя trafd без mysql (traffi..."
Отправлено Maxim , 18-Дек-09 18:59 
отрицательные значение ищ ща того что файл логов переполнен. Нужно ротировать логи..макс записей 1000

"Подсчет трафика на Freebsd используя trafd без mysql (traffic freebsd log)"
Отправлено Alex , 26-Янв-09 10:04 
Спасибо! за статью!! отдельное спасибо! за выложеный скрип в комментариях!