Биллинговая система Nodeny
22 Ноября 2024, 13:58:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Карма: 0
Offline Offline

Сообщений: 11


Просмотр профиля
« : 15 Апреля 2011, 08:05:30 »

добрый день.

Проблема состоит в том, что flow-tools не отправляет собранную статистику в базу nodeny.

1. Создал коллектор в базе (8888         netflow: SAT2)
2. запустил на сателите сенсор, указал порт на отправку 8888
3. запустил flow-capture
Код:
flow_capture_enable="YES"
flow_capture_localip="0.0.0.0"
flow_capture_remoteip="0.0.0.0"
flow_capture_datadir="/var/db/flows"
flow_capture_port="8888"
flow_capture_flags="-n1 -N0 -R /usr/local/nodeny/netflow_8888.pl"
3. На машинке с билингом проверил tcpdump статистика приходит и сохраняется
Код:
-rw-r--r--  1 flowtools  flowtools  33362 Apr 15 08:56 ft-v05.2011-04-15.085510+0300
-rw-r--r--  1 flowtools  flowtools  38957 Apr 15 08:57 ft-v05.2011-04-15.085619+0300
-rw-r--r--  1 flowtools  flowtools     92 Apr 15 08:57 tmp-v05.2011-04-15.085728+0300
4. файл netflow_8888.pl автоматически создался
Код:
-rwx------  1 root  wheel  165 Apr 15 08:57 /usr/local/nodeny/netflow_8888.pl

Содержимое файла:
Код:
#!/usr/bin/perl
 system("/usr/local/bin/flow-print -f6 < /var/db/flows/$ARGV[0] >/usr/local/nodeny/sql/1-1302847117 2>/dev/null");
 unlink "/var/db/flows/$ARGV[0]";

При этом статистика не заносится в базу; после обработки статистики файл должен удалятся (unlink "/var/db/flows/$ARGV[0]") но этого не происходит.

Если же скрипту /usr/local/nodeny/netflow_8888.pl руками передать файл из /var/db/flows как параметр, то статистика занонсится в базу и в разделе мониторинг пишет - обработано столько то строк.

на данный момент -    Не получен трафик от netflow: SAT2 (8888).

Вижу, что гдето права доступа не те, но уже утро и не могу вкурить в чем косяк, помогите разобраться.

Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #1 : 15 Апреля 2011, 08:57:48 »

а в админке коллекторы прописаны?
Записан
inf
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 11


Просмотр профиля
« Ответ #2 : 15 Апреля 2011, 10:22:22 »

да, настройки -> коллектора трафика
первая колонка 8888, вторая колонка netflow: SAT2

после этого nodeny автоматически создал файл netflow_8888.pl

Такое впечатление, что flow-tools при ротации не вызывает обработчик netflow_8888.pl или по какойто причине не может запустить.
flow-tools работает от юзера:
#ps aux | grep flow-capture
flowtools 38171  0.0  0.0 12232  2892  ??  Ss   Wed10AM   0:10.18 /usr/local/bin/flow-capture -n1 -N0 -R /usr/local/nodeny/netflow_8888.pl

может в этом проблема ?
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #3 : 15 Апреля 2011, 10:39:09 »

сваял такой скрипт

Код:
#!/bin/sh
 #
 # flow-tools Tool set for working with NetFlow data
 #
 # chkconfig:    - 44 44
 # description:  flow-tools.
 #
 # processname: flow-capture
 # pidfile: /var/run/flow-capture.pid

 # Source function library
 . /etc/rc.d/init.d/functions

 # Get network config
 . /etc/sysconfig/network

 RETVAL=0

 start() {
        echo -n $"Starting Flow-capture daemon: "
        daemon /usr/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
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/flow-capture
        return $RETVAL
 }

 stop() {
        echo -n $"Stopping Flow-Capture daemon: "
        killproc flow-capture
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/run/flow-capture.pid /var/lock/subsys/flow-capture
        return $RETVAL
 }

 restart() {
        stop
        start
 }

 reload() {
        return $RETVAL
 }

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status flow-capture
        ;;
  restart)
        restart
        ;;
  condrestart)
        [ -f /var/lock/subsys/flow-capture ] && restart || :
        ;;
  reload)
        reload
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
        exit 1
 esac

 exit $?
Записан
inf
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 11


Просмотр профиля
« Ответ #4 : 15 Апреля 2011, 12:00:01 »

запустил flow-capture из командной строки от пользователя root, теперь в мониторинг не ругается, что Не получен трафик от netflow: SAT2(8888)
но при этом у пользователей статистика по нулях. В настройках коллектора после netflow: можно указать номера сетевух. Как быть если у меня в ситеме lagg0, vlan15 - local, vlan40, vlan41 - смотрят наружу. Делаю ifconfig в нумерации участвуют igb0, igb1, lo, pflog0 и тд?
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #5 : 15 Апреля 2011, 12:21:01 »

биллинг, он же роутер?
Записан
inf
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 11


Просмотр профиля
« Ответ #6 : 15 Апреля 2011, 13:49:52 »

нет, биллинг стоит в стороне, сателит роутит. На данный момент затык именно в статистике трафика, все остальное работает(ядро посылает команды сателиту и тот включает/отключает пользователя , шейпит и тд)

На данном этапе flow-capture запущен от пользователя root. При ротации трафик как бы обрабатывается (биллинг уже не ругается, что не получены данные от сателита, но в пользовательской статистике  = 0)

Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #7 : 15 Апреля 2011, 13:51:33 »

логи сервера, биллинга чтото показывают?
tcpdump видит пакеты на 8888 порт с сателита?
Записан
inf
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 11


Просмотр профиля
« Ответ #8 : 15 Апреля 2011, 15:00:34 »

конечно (я это описал в первом посте).
если закоментить unlink "/var/db/flows/$ARGV[0]" в netflow_8888.pl то видно что каждую минуту в папке /var/db/flows появляется файл с статистикой. flow-cat $file | flow-print | less показывает что там нужная статистика с нужного мне интерфейса. В логах nodeny пусто, тоесть как бы статистика  обрабатывается, при этом на какоето время в /usr/local/nodeny/sql появляется уже обработанная статистика скриптом netflow_8888.pl
Вот ее ядро nodeny и подгрузить в базу должен. В какую таблицу оно попадет? и какое условие подсчета этой статистики биллингом.
Для справки сеть кастомеров 192.168.15.0/24
Создан preset 1 в нем направление 1 под названием "мир" и ниже в порядке возрастание сети 10.0.0.0/8, 192.168.0.0/16, xx.xx.xx.0/22, 0.0.0.0/0
Первые 3 сети указаны как неучитываемые направления, 0.0.0.0/0 - как мир. Далее создан пакет и в нем указано, что он принадлежит 1 пресету.
Завден пользователь, который ходит в инет и имеющий ип из сети 192.168.15.0/24. Что я упустил ?
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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