Страница 1 из 1

ошибка в скрипте Trafd'а

Добавлено: 2009-06-01 17:12:39
gortum
Здравствуйте, подскажите, где я накосячил? Сервер с 2мя сетевухами (rl0-внешняя, rl1- внутренняя) Считаю трафик при помощи NeTAMS (rl1), решил еще контролировать весь трафик на rl0 при помощи trafd'a, и тут возникла проблема, общий трафик на rl1 (по статистике нетамс) больше rl0 (по статистике trafda) на 100мб уже при 620мб всего трафика. Понятно, что дело в trafde, вот его конфиги (брал с этого форума :smile: )
trafcron.sh

Код: Выделить всё

#!/bin/sh


tmp_file="/tmp/trafd.traffic.$$.tmp"
#out_file="/usr/local/var/trafd/tmp_data.txt"


#external_IP="`/sbin/ifconfig xl0 | grep inet | awk '{print $2}'`"
#internal_IP="`/sbin/ifconfig ep0 | grep inet | awk '{print $2}'`"
#wifi_IP="`/sbin/ifconfig ath0 | grep inet | awk '{print $2}'`"



day="`date +%Y-%m-%d`"

year="`date +%Y`"

month="`date +%m`"


out_file="/usr/local/var/trafd/${year}_${month}.txt"


curr_time="`date +%H:%M:00`"

NewDir="/var/traffic/${year}/${month}"


mkdir -p ${NewDir}

cd ${NewDir}




. /etc/rc.conf
for iface in ${trafd_ifaces}
do

/usr/local/bin/trafsave ${iface}


/usr/local/bin/traflog -i ${iface} -a -n -s > /tmp/summary.${iface} 2>/dev/null

cat /dev/null > /usr/local/var/trafd/trafd.${iface}

cat /tmp/summary.${iface} >> ${NewDir}/summary.${iface}

done

echo "traf for this monf:" > ${out_file}
echo "interface       In        Out" >> ${out_file}
for iface in ${trafd_ifaces}
do
        IP="`/sbin/ifconfig ${iface} | grep inet | awk '{print $2}' | head -1`"

        cat ${NewDir}/summary.${iface} | grep "^[0-9]" | grep "^${IP}"| awk '
                BEGIN { d=0 }
                        {

                                d=$6+d
                        }
                END {
 print d/1048576
                } ' > ${tmp_file}
        read bytes_out < ${tmp_file}


        cat ${NewDir}/summary.${iface} | grep "^[0-9]" | grep -v "^${IP}"| awk '
                BEGIN { d=0 }
                        {

                                d=$6+d
                        }
 END     {
                                print d/1048576
                        } ' > ${tmp_file}
        read bytes_in < ${tmp_file}


        if [ "${bytes_in}" = "0" ]
        then
                echo "no traffic"
        else
                echo " ${iface}         ${bytes_in} Mb  ${bytes_out} Mb" >> ${out_file}
        fi

        rm ${tmp_file}
done

echo "counted `date +%Y-%m-%d` `date +%H:%M:%S` MSK" >> ${out_file}

crontab

Код: Выделить всё

29,59   *       *       *       *       root    /usr/local/etc/trafcron.sh

rc.conf

Код: Выделить всё

trafd_enable="YES"
trafd_ifaces="rl0"
trafd_log="/var/log/traffic.log"

Вродк все , заранее всем спасибо.

Re: ошибка в скрипте Trafd'а

Добавлено: 2009-06-01 17:29:44
paradox
трафд никогда не используеться в трафико считалках
так что можете сводить результаты сокок хотите
они у вас никогда не сойдуться

Re: ошибка в скрипте Trafd'а

Добавлено: 2009-06-01 17:44:11
gortum
тогда порекомендуйте пожалуйста какую-нибудь простую (детализация трафика необязательна) прогу для подсчета трафика на внешней сетевухе
трафд никогда не используеться в трафико считалках
а почему тогда Лис пишет в своих статьях про то, как им трафик считает?

PS жалко что один Нетамс не может работать на двух интерфейсах :(

Re: ошибка в скрипте Trafd'а

Добавлено: 2009-06-01 18:03:52
Alex Keda
у меня довольно неплохо сходилось.
но у меня поток траффа был не большой и машина мощщная.
раньше каналы-то были - 128k, 256k - и это на всю контору в 30-40 человек =)))

Re: ошибка в скрипте Trafd'а

Добавлено: 2009-06-01 18:15:46
paradox
тогда порекомендуйте пожалуйста какую-нибудь простую (детализация трафика необязательна) прогу для подсчета трафика на внешней сетевухе
ipfw count на интерфейсах
snmpd
и вообще
что бы сходилось 1:1 с провайдерским
нужно уточнять как именно считает провайдер