Перейти к содержимому
Калькуляторы

Тоже пишу билинг. ipcad+nfacctd

Пишу билинг для небольшой домашней сеточки.

Возникла такая проблемка...

Инфу о трафике у меня собирает ipcad, соответственно аггрегирует его и засылает netflow на локальный порт. Там я его отлавливаю nfacctd и пытаюсь складывать в базу postgres.

Дык вот что мне сказать или первому, или второму (ipcad или nfacctd), чтобы инфа о трафике сбрасывалась в базу постепенно, а не когда юзер скачает в один поток непрерывно фильм метров на 600 при ограничении 50???

 

Умаялся, уже неделю голову ломаю.... Помогите плз...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поиграйтесь с таймаутами в настройках ипкада

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

до сих пор думал что нетфлоу инфу только по окончании сессии отдает, вне зависимости от ее продолжительности и размера. или это не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня вообще без заморочек работает! настроил ipcad на ng* и сохраняю статистику в файлик (только входящий) и раз в час запускается скрипт , разносит всё в мускульную базу... вообщем биллинг получился на ура с модулями кассиру и прочей лабудой

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я раньше тоже с NetFlow пробывал колбасится, сейчас вернулся к rsh. Получилось классно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

до сих пор думал что нетфлоу инфу только по окончании сессии отдает, вне зависимости от ее продолжительности и размера. или это не так?
Нет.

В комментариях в конфиге ипкада написано, что делает параметр active timeout.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Короче забил я на nfacctd...

написал скриптик, который распарсивает и складывает инфу от ipcad в базу и в файл рядышком...

В базе видимо хранить таки все не буду... Триггер на insert и процедурка, раскидывающая инфу о байтах в статическую табличку...

Все так прикольненько получается :) Вся логика на постгресе. Морду можно писать на чем угодно :)

товарищ пишет на пхп, я вот пишу под винду на делфях :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня нетфло собирается через fprobe-ulog, два коллектора - nnfc, который складывает все в мускульную рабочую базу и flow-capture, который делает бэкапы. Кста, с постгром nnfc тоже работать умеет. Перепробовал много сенсоров и коллекторов, но текущий вариант имхо лучший

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ксати существует ли нормальный веб интерфейс для статистики nfacctd а то чё то Flox не очень у меня захотел работать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Друзья,

 

Во-первых, нельзя получать данные по NetFlow ни равномерно, ни по завершении сессии, т.к. роутер должен держать свободными свои буфера, и освобождает их так быстро как возможно. К тому же, счетчик байт на поток только 32 бита. Так что на одну в понимании TCP сессию, вы можете получить многие сотни потоков в понятиях NetFlow. Как вы это обработаете уже не проблема роутера ;-)

Во-вторых, БД MySQL в силу многих ограничений очень плохо работает с такими объемными данными которые вы можете получить по NetFlow (большие массивы не удаляются, при параллельных извлечениях и одновременно с этим "большой" вставке запросы на извлечение черезвычайно (встают практически) замедляются вне зависимости от извлекаемого объема). Вам обязательно надо предварительно обработать данные ещё до этой базы.

 

Я имел опыт обработки NetFlow утилитами из пакета flow-tools, работал с тремя базами - MySQL, MS SQL и PostgreSQL, и скажу что для задач работы с сетевой статистикой, баз равных PostgreSQL просто нет. Например, оказалось быстрее загнать данные в PostgreSQL, там суммировать и выгрузить итоги в нужную мне базу, чем делать это утилитами или, тем более (упаси бог) грузить сырые данные в MS или (упаси бог дважды) в MySQL.

 

Вот тут я написал всё на эту тему: http://ldmitry.blogspot.com/2010/07/netflow-3_12.html

Изменено пользователем ldmitry

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

наткнулся тоже когдато на такие грабли

вот http://forum.nodeny.com.ua/index.php?topic=180.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

наткнулся тоже когдато на такие грабли

вот http://forum.nodeny.com.ua/index.php?topic=180.0

О, а я тоже использовал ipacct, ещё когда полоса была в пару мегабит всего. Для него 20 тыс. потоков в час уже неплохая нагрузка, к тому же он на роутере работает-то. А по нетфлоу с 400 Мегабитного потока получаем статистику и нет проблем, а там до 70 млн. потоков в час доходит.

С ipacct-то я все данные в MySQL заносил и БД не была узким местом :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Друзья,

 

Во-первых, нельзя получать данные по NetFlow ни равномерно, ни по завершении сессии, т.к. роутер должен держать свободными свои буфера, и освобождает их так быстро как возможно. К тому же, счетчик байт на поток только 32 бита. Так что на одну в понимании TCP сессию, вы можете получить многие сотни потоков в понятиях NetFlow. Как вы это обработаете уже не проблема роутера ;-)

Во-вторых, БД MySQL в силу многих ограничений очень плохо работает с такими объемными данными которые вы можете получить по NetFlow (большие массивы не удаляются, при параллельных извлечениях и одновременно с этим "большой" вставке запросы на извлечение черезвычайно (встают практически) замедляются вне зависимости от извлекаемого объема). Вам обязательно надо предварительно обработать данные ещё до этой базы.

 

Я имел опыт обработки NetFlow утилитами из пакета flow-tools, работал с тремя базами - MySQL, MS SQL и PostgreSQL, и скажу что для задач работы с сетевой статистикой, баз равных PostgreSQL просто нет. Например, оказалось быстрее загнать данные в PostgreSQL, там суммировать и выгрузить итоги в нужную мне базу, чем делать это утилитами или, тем более (упаси бог) грузить сырые данные в MS или (упаси бог дважды) в MySQL.

 

Вот тут я написал всё на эту тему: http://ldmitry.blogspot.com/2010/07/netflow-3_12.html

я против хранения этой информации в реляционной базе данных, в этих данные (netflow) какбы мало реляционности.

 

иногда юзерам надо статистику куда столько денех ушло. ну и по закону, просто храню 3 года...

машинка со стареньким процом, с несколькими 2-х терабайтными винтами, которая с каталиста получает копию потока с вланов всех аплинков и пишет на винт в формате flow-tools

 

вот и будет висеть демон, который с помошью запуска flow-tools будет неспеша выгребать нужную информацию с винтов по разным критериям и хранить результат, пока либо абонент не заберёт в личном кабинете, либо девочка в офисе не распечатает и не отдаст за деньги.

 

ПЫ.СЫ. трафик не считаю этой штуковиной. только для информации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну и кто не вкурсе, в сетях нет слова байт, там есть слово октет, и октет равен 8 битам.

и как-то некорректно всё это, всмысле учет трафика, тем более по данным netflow.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а по чем корректно?
ну на порту абонента.

если хочется по зонам (выделить локальную сеть например) - по счетчикам фаерволла

 

но я ни по тому ни по другому, а по третьему...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну на порту абонента.

если хочется по зонам (выделить локальную сеть например) - по счетчикам фаерволла

Всяк корректно, я давно работаю в провайдерах и скажу, что по NetFlow корректно и, я бы сказал, стандартно. Главное, Вы можете дать клиенту детализацию, которая совпадет полностью с суммой.

На порту, как вы правильно заметили по зонам не разделишь. Хотя это чаще всего не нужно, зато объемы данных заметно меньше.

А вот насчет счетчиков фаервола - это для совсем маленьких объемов, т.к. вам надо промаршрутизировать трафик через машину со счетчиками.

Есть методы, связанные с пассивным слушанием, но тогда вы не имеете контроля над не подсчитанным объемом. Ведь если свитч, который делает mirroring на ваш "слушающий" интерфейс, или сам интерфейс или ОС дропают такой трафик (из-за нехватки буферов на пиках и т.п.) вы ничего о нем не знаете. В отличие от NetFlow роутеров, которые отчитываются о дропнутых потоках в т.ч.

В общем, последними двумя методами (счетчики фаервола и "слушание") пользуются небольшие провайдеры, а для крупных - NetFlow и данные с портов.

Изменено пользователем ldmitry

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

... по NetFlow вполне корректно.
я доверяю только кошке, а т.к. на бордере не кошка, то нетфлоу только для информации

 

Главное, Вы можете дать клиенту детализацию, которая совпадет полностью с суммой.
соглашусь, это самый главный плюс учета по данным нетфлоу,

и туева туча минусов,

например не выделять использовавшийся адрес другому абоненту сколько-то времени (этож надо учесть при выдаче динамического адреса),

где-то держать информацию об отключеных абонентах и ловить netflow пакеты, считать октеты Хвремени

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а по чем корректно?
ну это всё технически, а есть ещё и экономическая часть (тоесть если делать совсем всё по закону, что не получается)

это я про счет за услуги на основании чего? бита/байта/октета, а есть ли эталон этого бита/байте/октета...

правда на это никто и не заморачивается

 

тоесть безлимит рулит теперь и у нас и теперь для юриков...

Изменено пользователем Giga-Byte

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну на порту абонента.

если хочется по зонам (выделить локальную сеть например) - по счетчикам фаерволла

я вот думаю что по счетчикам фаервола это некорректно, потому что если у васн допустим стоит фря, и через нее ходит 1000 абонентов в интернет и локалку, то не будете же вы держать 2000 правил ipfw count ?

по зонам должен разбирать внешний обработчик, который знает какие сеть есть локалка, какие сети есть партнерские/пиринговые, ну и все что не попадает под критерии это интернет. Обработчик самописный скрипт, часть биллинга или еще какая нибудь примочка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Giga-Byte, эталона бита в секунду для безлимитов тоже нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Giga-Byte, эталона бита в секунду для безлимитов тоже нет.
:)

вово, я вообще предлагал сделать один тариф, "доступ в инет",

можно модификацию: быстрый и нормальный :) "медленный" делать не стоит, чтобы не ронять АРПУ.

Изменено пользователем Giga-Byte

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.