Andriuxa Posted February 18, 2010 · Report post Привет всем. Столкнулся с такой проблемой. на сервере доступа поднят mpd5, который сливает статистику на биллинг - эта часть работает нормально, но есть проблема. Для логирования того откуда и куда пошли пакеты от абонентов (снятие flow-статистики) использую flow-capture + ipcad. При длительном использовании серв виснет и только ребутом спасаюсь. может работать неделю, а может и за 2 дня 3 раза зависнуть. В vmcore есть описание, что из-за появления ng происходит такая проблема. сервер держит от 140 до 160 сессий. Число постоянно растет. подскажите как решить проблему. заранее благодарю за ответ. ЗЫ. Может кто предложит другое ПО? ЗЗЫ. фря 7.2. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
XeonVs Posted February 18, 2010 (edited) · Report post а зачем ipcad? mpd умеет прекрасно и сам генерить нетфлоу. Edited February 18, 2010 by XeonVs Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
photon Posted February 18, 2010 (edited) · Report post У flow-capture утечки памяти на 64-разрядной платформе. Вероятно из-за них сервер и вырубается. Используйте другой коллектор, например http://www.mindrot.org/projects/flowd/ . Генерировать Netflow можно средствами ng_netflow. Edited February 18, 2010 by photon Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 19, 2010 (edited) · Report post а зачем ipcad? mpd умеет прекрасно и сам генерить нетфлоу.Он же вроде не умеет сливать статистику на 2 ip (2 port'а), а 2 демона на 1 порт я не могу повесить. set netflow peer 10.10.0.2 9997 # куда сливать set netflow self 10.10.2.2 65500 #с какого ифейсаи порта от себя set netflow peer 10.10.2.3 9996 # Эта запись возможна помимо 2х предыдущих? У flow-capture утечки памяти на 64-разрядной платформе. Вероятно из-за них сервер и вырубается. у меня Xeon: CPU: Intel(R) Xeon(TM) CPU 3.00GHz (2992.71-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf41 Stepping = 1 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFL USH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x641d<SSE3,DTES64,MON,DS_CPL,CNXT-ID,CX16,xTPR> AMD Features=0x20100000<NX,LM> Logical CPUs per core: 2 Фря в i386 версии. Используйте другой коллектор, например http://www.mindrot.org/projects/flowd/ Это который: Port: flowd-0.9.1_1 Path: /usr/ports/net-mgmt/flowd Info: The flowd is a small, fast and secure NetFlow collector Maint: janos.mohacsi@bsd.hu B-deps: gettext-0.17_1 gmake-3.81_3 libiconv-1.13.1 R-deps: WWW: http://www.mindrot.org/flowd.html На сколько единовременных сессий/ kpps его хватит? Генерировать Netflow можно средствами ng_netflow.Я так понимаю, что это отдельное ПО? надо ли пересобирать ядрос NETGRAPH_NETFLOW параметром? Если нет, то как настроить? Чем еще можно снифить трафик? ЗЫ. Может я в опциях ядра не все включил? Сейчас собрано так: options NETGRAPH # options NETGRAPH_PPP options NETGRAPH_PPTPGRE Edited February 19, 2010 by Andriuxa Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
XeonVs Posted February 19, 2010 (edited) · Report post если хочется славить на два и более порта, два и более хоста надо пользовать flow-fanout( nfreplay из комплекта nfdump) /usr/local/bin/flow-fanout 127.0.0.1/127.0.0.1/4444 127.0.0.1/127.0.0.1/4445 10.10.0.254/10.10.0.1/4444 т.е. трафик с /127.0.0.1/4444 реплицируется на 127.0.0.1/4445 и 10.10.0.1/4444 я вообще использую nfdump-1.6, его научили аггрегированные фловы писать в файл с компрессией, утечек не наблюдаю. у ng_netflow кстати если поток данных большой(у меня гигабит на 170Кpps) надо править в исходниках размер хеш-таблицы. под flow-tools были патчи для amd64 систем. Edited February 19, 2010 by XeonVs Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 19, 2010 (edited) · Report post А для использования flow-fanout нужен ng_netflow или нет? И насколько грузит он конечную систему? Заранее спасибо. Edited February 19, 2010 by Andriuxa Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
XeonVs Posted February 19, 2010 · Report post А для использования flow-fanout нужен ng_netflow или нет?И насколько грузит он конечную систему? Заранее спасибо. нет не нужен, это просто репликатор нетфлоу потока. 175kpps дает 39.36% irq257: bge1 общая загрузка системы(CPU: Intel® Xeon® CPU 3060 @ 2.40GHz (2400.10-MHz K8-class CPU)): CPU: 0.9% user, 0.0% nice, 0.0% system, 17.9% interrupt, 81.2% idle трафик на bge1 отзеркалирован с ближайшего коммутатора. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted February 19, 2010 · Report post ЗЫ. Может я в опциях ядра не все включил? Сейчас собрано так:Код options NETGRAPH # options NETGRAPH_PPP options NETGRAPH_PPTPGRE kldstat - узнаете много нового :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 19, 2010 (edited) · Report post kldstat - узнаете много нового :)Эт я знаю. :) общая загрузка системы(CPU: Intel® Xeon® CPU 3060 @ 2.40GHz (2400.10-MHz K8-class CPU)):CPU: 0.9% user, 0.0% nice, 0.0% system, 17.9% interrupt, 81.2% idle Все это хорошо, но на биллинге стоит 1266 PIII. так что тут вопрос уже в другом.У меня при 160 VPN-сессиях на машине с биллингом был полный ступор, что в УТМ начинали меняться расчетные периоды и с безлимитных тарифных планов начинали списываться деньги. Интересно насколько загрузится проц. Кстати, мне тут один провайдер сказал, что они не работают по нетфлоу. Вопрос такой, в ФЗ о телеграфной связи сказано, что логи доступа надо хранить 3 года, можно ли мне это как-то обойти? т.е. не хранить нетфлоу, а использовать что-то другое? Может я должен хранить что-то другое? Заранее благодарен. Edited February 19, 2010 by Andriuxa Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
XeonVs Posted February 19, 2010 · Report post Печально если так плохо с железом. :( храни что хочешь и как хочешь, но чтобы по запросу было: "кто, куда, когда, сколько". Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 19, 2010 (edited) · Report post решил сделать некоторый финт ушами. :) настроить flow-fanout на сервере доступа, и отдавать статистику сначала на flow-fanout, а затем, чтобы flow-fanout сливал на flow-caprute, который на этом же сервере и на биллинг. Только проблема - не могу разобраться с конфигом. Мне надо сливать на 127.0.0.1:9997 порт flow-fanout'a, а тот в свою очередь кидает на flow-capture - 127.0.0.1:9998 и на 10.10.0.2:9997. Конфиг получается такой: flow_fanout_enable="YES" flow_fanout_ip="127.0.0.1" flow_fanout_remoteip="10.10.0.2" flow_fanout_port="9997" flow_fanout_export="127.0.0.1/127.0.0.1/9998 127.0.0.1/10.10.0.2/9997" Проверьте, если не трудно, где у меня проблема. Заранее благодарен. Edited February 19, 2010 by Andriuxa Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ilya Evseev Posted February 19, 2010 · Report post У flow-capture утечки памяти на 64-разрядной платформе. Вероятно из-за них сервер и вырубается.Как здесь уже обсуждалось, есть два разных flowtools:/usr/ports/net-mgmt/flow-tools-ng -- хостится на code.google.com /usr/ports/net-mgmt/flow-tools По отзывам, в "-ng" версии утечки нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 19, 2010 · Report post а по моему вопросу никто не ответит? :( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ilya Evseev Posted February 19, 2010 · Report post А для использования flow-fanout нужен ng_netflow или нет?Желателен :)ng_netflow - это счётчик (probe) на шлюзе, который передаёт по сети netflow-поток на указанный узел. flow-fanout - это приёмник-распределитель (т.е. proxy collector) где угодно, например, на биллинге. И насколько грузит он конечную систему?ng_netflow работает целиком в ядре, поэтому нагрузка от него минимальная из возможных. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 19, 2010 · Report post спасибоо за ответ, только я про параметры для flow-fanout. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 19, 2010 · Report post Нашел косяк. flow_fanout_export="... 127.0.0.1/10.10.0.2/9997" следует заменить на: flow_fanout_export="... 10.10.2.2/10.10.0.2/9997" где 10.10.2.2 - ифейс сервера смотрящий на 10.10.0.2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 20, 2010 (edited) · Report post Не получилось завязать эту связку. По Lo0 данные ходят нормально,а на биллинг ничего не отсылается. Вот текущий конфиг: flow_fanout_enable="YES" flow_fanout_ip="127.0.0.1" flow_fanout_remoteip="127.0.0.1" flow_fanout_port="9997" flow_fanout_export="127.0.0.1/127.0.0.1/9998 10.10.2.2/10.10.0.2/9997" в tcpdump видно только пакеты идущие по 127.0.01:9997 (от mpd5 к flow_fanout) остальных пакетов нет, хотя flow-capture что-то считает. Это нормально? Edited February 20, 2010 by Andriuxa Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ilya Evseev Posted February 20, 2010 · Report post Несколько общих советов: 1) пока отлаживаете, запускайте flow-fanout вручную, а не через /usr/local/etc/rc.d, 2) используйте ключ "-d", 3) попробуйте для начала отправлять только на один внешний адрес, 4) когда запускаете через rc.d, какую командную строку показывает "ps -axw | grep fanout | grep -vw grep"? Возможно, /etc/rc.conf содержит неверные настройки. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 20, 2010 · Report post Текущие настройки я привел. /usr/local/etc/rc.d/flow-fanout status показывает что демон запущен. пока отлаживаете, запускайте flow-fanout вручную, а не через /usr/local/etc/rc.d,Почему? Если настройки все в принципе ясно, то почему так не пустить.Мне больше интересно почему он работать не хочет. Скажите? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andriuxa Posted February 21, 2010 · Report post В общем что-то не ладное с ipcad. Запускал ipcad с явным выделением памяти буффера 64к. В итоге не протянул 2х дней. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...