Биллинговая система Nodeny
21 Мая 2024, 16:00:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: снова netflow  (Прочитано 6862 раз)
PBNM
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 20


Просмотр профиля
« : 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

Есть какие либо соображения по этому поводу ?
Записан
Andrey Zentavr
NoDeny
Старожил
*

Карма: 29
Offline Offline

Сообщений: 301



Просмотр профиля
« Ответ #1 : 22 Апреля 2010, 23:53:56 »

а не кущает ли у тебя процесс много памяти на 64 битах?
Записан
Maks
NoDeny
Ветеран
*

Карма: 13
Offline Offline

Сообщений: 575


Скажи спасибо - подними карму.

https://t.me/smv https://t.me/smv_wz
Просмотр профиля Email
« Ответ #2 : 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) не вылетает.
Записан

Nodeny общение
https://t.me/nodeny_chat
Maks
NoDeny
Ветеран
*

Карма: 13
Offline Offline

Сообщений: 575


Скажи спасибо - подними карму.

https://t.me/smv https://t.me/smv_wz
Просмотр профиля Email
« Ответ #3 : 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 перестает сниматься.
Записан

Nodeny общение
https://t.me/nodeny_chat
Maks
NoDeny
Ветеран
*

Карма: 13
Offline Offline

Сообщений: 575


Скажи спасибо - подними карму.

https://t.me/smv https://t.me/smv_wz
Просмотр профиля Email
« Ответ #4 : 23 Апреля 2010, 21:56:55 »

Решение: Запускать все сервера на одном порту, т.к c разный Netflow отказался собирать статистику
Записан

Nodeny общение
https://t.me/nodeny_chat
PBNM
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 20


Просмотр профиля
« Ответ #5 : 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 ...
Записан
Maks
NoDeny
Ветеран
*

Карма: 13
Offline Offline

Сообщений: 575


Скажи спасибо - подними карму.

https://t.me/smv https://t.me/smv_wz
Просмотр профиля Email
« Ответ #6 : 24 Апреля 2010, 06:32:36 »

Так ты это как то поборол ?
Или пока отложил?
Записан

Nodeny общение
https://t.me/nodeny_chat
PBNM
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 20


Просмотр профиля
« Ответ #7 : 24 Апреля 2010, 10:19:28 »

3 коллектора через порт 8888 и 1 через 8885.
Записан
Maks
NoDeny
Ветеран
*

Карма: 13
Offline Offline

Сообщений: 575


Скажи спасибо - подними карму.

https://t.me/smv https://t.me/smv_wz
Просмотр профиля Email
« Ответ #8 : 24 Апреля 2010, 10:38:08 »

А  как ты запустил на 8885 ?
Записан

Nodeny общение
https://t.me/nodeny_chat
PBNM
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 20


Просмотр профиля
« Ответ #9 : 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. 
Записан
Andrey Zentavr
NoDeny
Старожил
*

Карма: 29
Offline Offline

Сообщений: 301



Просмотр профиля
« Ответ #10 : 30 Апреля 2010, 00:41:57 »

И подскажите как подправить запускной скрипт под другой порт нетфло.

У меня раньше два коллектора пускались примерно так:
Код:
# GW3 Flows
flow_capture_GW3_datadir="/var/db/flows/"
flow_capture_GW3_pid="/var/run/flow-capture/flow-capture.pid.8003"
flow_capture_GW3_localip="0.0.0.0"
flow_capture_GW3_remoteip="10.1.10.3"
flow_capture_GW3_port="8003"
flow_capture_GW3_user="root"
flow_capture_GW3_flags="-n1 -N0 -R /usr/local/nodeny/netflow_8003.pl"
# GW4 Flows
flow_capture_GW4_datadir="/var/db/flows/"
flow_capture_GW4_pid="/var/run/flow-capture/flow-capture.pid.8004"
flow_capture_GW4_localip="0.0.0.0"
flow_capture_GW4_remoteip="10.1.10.4"
flow_capture_GW4_port="8004"
flow_capture_GW4_user="root"
flow_capture_GW4_flags="-n1 -N0 -R /usr/local/nodeny/netflow_8004.pl"

Записан
Maks
NoDeny
Ветеран
*

Карма: 13
Offline Offline

Сообщений: 575


Скажи спасибо - подними карму.

https://t.me/smv https://t.me/smv_wz
Просмотр профиля Email
« Ответ #11 : 30 Апреля 2010, 15:44:31 »

У меня раньше два коллектора пускались примерно так:
Код:
# GW3 Flows
flow_capture_GW3_datadir="/var/db/flows/"
flow_capture_GW3_pid="/var/run/flow-capture/flow-capture.pid.8003"
flow_capture_GW3_localip="0.0.0.0"
flow_capture_GW3_remoteip="10.1.10.3"
flow_capture_GW3_port="8003"
flow_capture_GW3_user="root"
flow_capture_GW3_flags="-n1 -N0 -R /usr/local/nodeny/netflow_8003.pl"
# GW4 Flows
flow_capture_GW4_datadir="/var/db/flows/"
flow_capture_GW4_pid="/var/run/flow-capture/flow-capture.pid.8004"
flow_capture_GW4_localip="0.0.0.0"
flow_capture_GW4_remoteip="10.1.10.4"
flow_capture_GW4_port="8004"
flow_capture_GW4_user="root"
flow_capture_GW4_flags="-n1 -N0 -R /usr/local/nodeny/netflow_8004.pl"


О,большое спасибо
Записан

Nodeny общение
https://t.me/nodeny_chat
Andrey Zentavr
NoDeny
Старожил
*

Карма: 29
Offline Offline

Сообщений: 301



Просмотр профиля
« Ответ #12 : 07 Августа 2012, 15:45:11 »

В общем, ситуйовина такая - как переехали на новую Фрю, возникла трабла что процесс второй то всё-таки падает. Оказывется, что при старте они пишут стату в файл вида tmp-*, который при SIGHUP переименовывается в ft-*.

Кто отправляет SIGHUP я пока не нашел, но имеем что при нескольких SIGHUPах может случиться то, что два процесса начнут писать в один файл tmp-* и в конце концов кто-то из них умрёт. Грустный

Вот примерно так:
Код:
flow-capture: SIGHUP
flow-capture: STAT: now=1344344160 startup=1344341487 src_ip=AAA.AAA.AAA.AAA dst_ip=194.126.**.** d_ver=5 pkts=153150 flows=4591596 lost=0 reset=0 filter_drops=0
flow-capture: STAT: now=1344344220 startup=1344341487 src_ip=AAA.AAA.AAA.AAA dst_ip=194.126.**.** d_ver=5 pkts=156328 flows=4686936 lost=0 reset=0 filter_drops=0
flow-capture: SIGHUP
flow-capture: rename(tmp-v05.2012-08-07.155515+0300,ft-v05.2012-08-07.155515+0300): No such file or directory

Как вариант можно поставить им разные рабочие каталоги (параметр -w), но это дело захардкодено вот тут:
Код:
[root@cassiopeia /usr/local/nodeny]# grep -Rl "/var/db/flows/" ./*
./netflow.pl
./netflow_8003.pl
./netflow_8107.pl

Потому немного поправил ./netflow.pl, удалил ./netflow_8003.pl и ./netflow_8107.pl, перезапустил ядро:
Код:
#$flow_file=$flow_base.'/$ARGV[0]';
# Добавил порт здесь
$flow_file=$flow_base.'/'.$port.'/$ARGV[0]';
$file_pl="$nodeny_base/netflow_$port.pl";

Ну и в rc.conf:
Код:
# Flow Capture Daemons
flow_capture_enable="YES"
flow_capture_profiles="GW3 GW4"
# GW3 Flows
flow_capture_GW3_pid="/var/run/flow-capture/flow-capture.pid.8003"
flow_capture_GW3_localip="0.0.0.0"
flow_capture_GW3_remoteip="a.b.c.98"
flow_capture_GW3_port="8003"
flow_capture_GW3_datadir="/var/db/flows/"$flow_capture_GW3_port
flow_capture_GW3_user="root"
flow_capture_GW3_flags="-n1 -N0 -S5 -R /usr/local/nodeny/netflow_8003.pl"
# GW4 Flows
flow_capture_GW4_pid="/var/run/flow-capture/flow-capture.pid.8107"
flow_capture_GW4_localip="0.0.0.0"
flow_capture_GW4_remoteip="a.b.c.107"
flow_capture_GW4_port="8107"
flow_capture_GW4_datadir="/var/db/flows/"$flow_capture_GW4_port
flow_capture_GW4_user="root"
flow_capture_GW4_flags="-n1 -N0 -S5 -R /usr/local/nodeny/netflow_8107.pl"
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!