Есть машина на free
на ней считается траффик с помощью правил IPFW
ipfw add allow ip from $ip to any via an0
ipfw add allow ip from any to $ip via an0
и т.д
все правила каждые 5 мин обнуляются и складываются в файлы
traf.(DATA) например: traf.
следующего вида
ip траффик за прошедшие 5 мин
194,67,238,22 5686
-//-подскажите какой скрипт мне нуже чтобы он раз в день собирал все файлы по дате суммировал траффик по каждому ip и клал в БД (mysql)
если возможно привести примеры таких скриптов
Заранее благодарен.
>Есть машина на free
>на ней считается траффик с помощью правил IPFW
>ipfw add allow ip from $ip to any via an0
>ipfw add allow ip from any to $ip via an0
>и т.д
>все правила каждые 5 мин обнуляются и складываются в файлы
>traf.(DATA) например: traf.
> следующего вида
> ip траффик за прошедшие 5 мин
>194,67,238,22 5686
>-//-
>
>подскажите какой скрипт мне нуже чтобы он раз в день собирал все
>файлы по дате суммировал траффик по каждому ip и клал в
>БД (mysql)
>
>если возможно привести примеры таких скриптов
>Заранее благодарен.
Вы хоть укажите на каком языке хотите написать... а то можно на чем угодно, на perl, php, c/c++А так принцип действия простой...
Открываете этот файл, если он у Вас структуированный, ну например там табуляциями разделены поля, то через fscanf можно все это читать и заносить в массив... ключом массива нужно сделать IP-адрес или можно сделать двумерный массив (если в этом файле не только за сегодня данные), где первый ключ будет IP, а второй дата (без времени)... вот потом посто смотришь, если есть массив с такими ключами, то значение траффика приплюсовываешь уже тому значению которое там...В итоге получается массив IP адресов и суммарно траффика по ним... Ну а дальше можно делать, что угодно, например в БД положить и хранить...
Можно еще финт ушами сделать - отправить все логи не в простой файл, а в fifo (в линухе делается командой mkfifo), а с другой стороны повесить свой скрипт, который ловит трафик, а остальное отправляет по назначению - в обычный файл. Тогда можно "на лету" все считать и не пускать переименование по крону каждые пять минут :)Я так делал под линухом в целях самообразования - прикольно получается :)
>>Есть машина на free
>>на ней считается траффик с помощью правил IPFW
>>ipfw add allow ip from $ip to any via an0
>>ipfw add allow ip from any to $ip via an0
>>и т.д
>>все правила каждые 5 мин обнуляются и складываются в файлы
>>traf.(DATA) например: traf.
>> следующего вида
>> ip траффик за прошедшие 5 мин
>>194,67,238,22 5686
>>-//-
>>
>>подскажите какой скрипт мне нуже чтобы он раз в день собирал все
>>файлы по дате суммировал траффик по каждому ip и клал в
>>БД (mysql)лучше всего на PHP
>>
>>если возможно привести примеры таких скриптов
>>Заранее благодарен.
>
>
>Вы хоть укажите на каком языке хотите написать... а то можно на
>чем угодно, на perl, php, c/c++
>
>А так принцип действия простой...
>Открываете этот файл, если он у Вас структуированный, ну например там табуляциями
>разделены поля, то через fscanf можно все это читать и заносить
>в массив... ключом массива нужно сделать IP-адрес или можно сделать двумерный
>массив (если в этом файле не только за сегодня данные), где
>первый ключ будет IP, а второй дата (без времени)... вот потом
>посто смотришь, если есть массив с такими ключами, то значение траффика
>приплюсовываешь уже тому значению которое там...
>
>В итоге получается массив IP адресов и суммарно траффика по ним... Ну
>а дальше можно делать, что угодно, например в БД положить и
>хранить...
лучше всего на PHP
Mogu dat' programmu .. ona v MySQL ves' trafic srazu lozhit i sama schitaet ... Besplatno ..
Odno no .. ona ne do konca zdelana i nekotorie features ne vkliucheni ..
Rabotaet pod Linux, FreeBSD, Solaris
Testilas' na Linux SuSE 8.0 , FreeBSD 4.7-RELEASE, SunOS 5.8 (Solaris 8)