Название: снова netflow Отправлено: PBNM от 14 Апреля 2010, 16:49:13 Есть необходимость собирать трафик с нескольких коллекторов по netflow (на портах 8888 и 8887 например) соответсвенно запущено
/usr/local/bin/flow-capture -R /usr/local/nodeny/netflow_8888.pl -p /var/run/flow-capture/flow-capture.pid -w /var/db/flows -n1 -N0 main_IP/sat1_IP/8888 и /usr/local/bin/flow-capture -R /usr/local/nodeny/netflow_8887.pl -p /var/run/flow-capture/flow-capture.pid -w /var/db/flows -n1 -N0 main_IP/sat2_IP/8887 трафик снимается и заносится в базу . Через несколько минут 2 процес вываливается . Причем если процесы запустить в другой очеродности то последний процес убивается через несколько минут. FreeBSD 8.0 amd64 Есть какие либо соображения по этому поводу ? Название: Re: снова netflow Отправлено: Andrey Zentavr от 22 Апреля 2010, 23:53:56 а не кущает ли у тебя процесс много памяти на 64 битах?
Название: Re: снова netflow Отправлено: Maks от 23 Апреля 2010, 12:47:12 У меня похожая ситуация но на FreeBSD 7.2
Если снимать статистику с одного сателлита все ок, если с 2. то через минуту перестает снимать статистику с первого. Вот что с вижу в мониторинте. 23.04.10 13:25 Не получен трафик от netflow:192.168.3.16 (8888). 23.04.10 13:23 23.04.10 13:23 Не получен трафик от netflow:192.168.254.123 (8889). 23.04.10 13:21 Если статистику с 192.168.254.123 (8889) не снимать, то 192.168.3.16 (8888) не вылетает. Название: Re: снова netflow Отправлено: Maks от 23 Апреля 2010, 20:19:38 И подскажите как подправить запускной скрипт под другой порт нетфло.
Сейчас используется этот #!/bin/sh # PROVIDE: netflow_start . /etc/rc.subr name="netflow" rcvar=`set_rcvar` : ${netflow_enable="NO"} start_cmd="${name}_start" stop_cmd="${name}_stop" restart_cmd="${name}_restart" netflow_start() { echo "Starting $name..." /usr/local/bin/flow-capture -R /usr/local/nodeny/netflow_8888.pl -p /var/run/flow-capture/flow-capture.pid -w /var/db/flows -n1 -N0 0.0.0.0/0.0.0.0/8888 } netflow_stop() { echo "Stopping $name..." killall flow-capture & } netflow_restart() { netflow_stop sleep 2 netflow_start } load_rc_config $name run_rc_command "$1" Попробовал его подредактировать под другой порт, и вот что вышло: #!/bin/sh # PROVIDE: netflow2_start . /etc/rc.subr name="netflow2" rcvar=`set_rcvar` : ${netflow2_enable="NO"} start_cmd="${name}_start" stop_cmd="${name}_stop" restart_cmd="${name}_restart" netflow2_start() { echo "Starting $name..." /usr/local/bin/flow-capture -R /usr/local/nodeny/netflow_8889.pl -p /var/run/flow-capture/flow-capture2.pid -w /var/db/flows -n1 -N0 0.0.0.0/0.0.0.0/8889 } netflow2_stop() { echo "Stopping $name..." killall flow-capture & } netflow2_restart() { netflow2_stop sleep 2 netflow2_start } load_rc_config $name run_rc_command "$1" Но он не работает, и после того как я его пытаюсь запустить( он не запускается) localhost# /usr/local/etc/rc.d/netflow2 start localhost# ps -ax | grep net 15 ?? WL 0:02.02 [swi1: net] 37 ?? DL 11:58.84 [dummynet] 39831 p0 D+ 0:00.00 grep net статистика с порта 8888 перестает сниматься. Название: Re: снова netflow Отправлено: Maks от 23 Апреля 2010, 21:56:55 Решение: Запускать все сервера на одном порту, т.к c разный Netflow отказался собирать статистику
Название: Re: снова netflow Отправлено: PBNM от 23 Апреля 2010, 22:55:59 Описал ситуацию когда на mikrotikе было
ip traffic-flow target add address=A.B.C.D:8888 version=5 при изменении на ip traffic-flow target add address=A.B.C.D:8888 version=1 статистика с 2 коллекторов снималась нормально, а надо 4 ... Процес вываливался когда WCPU 100% у flow-print ... Название: Re: снова netflow Отправлено: Maks от 24 Апреля 2010, 06:32:36 Так ты это как то поборол ?
Или пока отложил? Название: Re: снова netflow Отправлено: PBNM от 24 Апреля 2010, 10:19:28 3 коллектора через порт 8888 и 1 через 8885.
Название: Re: снова netflow Отправлено: Maks от 24 Апреля 2010, 10:38:08 А как ты запустил на 8885 ?
Название: Re: снова netflow Отправлено: PBNM от 25 Апреля 2010, 11:10:35 /usr/local/bin/flow-capture -R /usr/local/nodeny/netflow_8885.pl -p /var/run/flow-capture/flow-capture.pid -w /var/db/flows -n1 -N0 main_IP/sat2_IP/8885
не взирая на то что pid файл указывается для нескольких сесий один в реальности создается /var/run/flow-capture/flow-capture.pid.порт . А проблема с несколькими сесиями netflow скорее всего в самом netflow под amd64. Название: Re: снова netflow Отправлено: Andrey Zentavr от 30 Апреля 2010, 00:41:57 И подскажите как подправить запускной скрипт под другой порт нетфло. У меня раньше два коллектора пускались примерно так: Код: # GW3 Flows Название: Re: снова netflow Отправлено: Maks от 30 Апреля 2010, 15:44:31 У меня раньше два коллектора пускались примерно так: Код: # GW3 Flows О,большое спасибо Название: Re: снова netflow Отправлено: Andrey Zentavr от 07 Августа 2012, 15:45:11 В общем, ситуйовина такая - как переехали на новую Фрю, возникла трабла что процесс второй то всё-таки падает. Оказывется, что при старте они пишут стату в файл вида tmp-*, который при SIGHUP переименовывается в ft-*.
Кто отправляет SIGHUP я пока не нашел, но имеем что при нескольких SIGHUPах может случиться то, что два процесса начнут писать в один файл tmp-* и в конце концов кто-то из них умрёт. :( Вот примерно так: Код: flow-capture: SIGHUP Как вариант можно поставить им разные рабочие каталоги (параметр -w), но это дело захардкодено вот тут: Код: [root@cassiopeia /usr/local/nodeny]# grep -Rl "/var/db/flows/" ./* Потому немного поправил ./netflow.pl, удалил ./netflow_8003.pl и ./netflow_8107.pl, перезапустил ядро: Код: #$flow_file=$flow_base.'/$ARGV[0]'; Ну и в rc.conf: Код: # Flow Capture Daemons |