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

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

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« : 22 Января 2013, 16:11:15 »

Доброго времени суток гуру!

Существует проблема в netflow.pl на linux

при выполнении perl ./netflow.pl не находит pid файл.
хотя по дефолту он /var/run/flow-capture.pid.8888

ошибку выдает flow-capture.pid.0 No such file or directory

пришлось дописать в скрипте

Код:
($port,$file_name)=@ARGV;
$port=~s/\s+//g;

if ($port=~/(\d+):(.+)$/)
  {# ... ....... ....... ........ ..... ........ ..........
   $out_int=",$2,";
   $port=$1;
  }else
  {
   undef $out_int;
   $port=int $port;
  }

$port=8888;

Но хочу еще один сателит добавить, но никак не получается из-за за порта.. Может кто то подскажет где переписать его что бы находил порт
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #1 : 23 Января 2013, 22:57:40 »

Никто не сталкивался с этой ситуацией ?
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #2 : 23 Января 2013, 23:05:29 »

а разве номер порта автоматом не генерится?
он вроде как выступает аргументом функции
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #3 : 23 Января 2013, 23:15:40 »

при запуске нетфлова порт то есть, но сам скрипт его найти не может flow-capture.pid.8888
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #4 : 24 Января 2013, 00:38:13 »

походу скрипт в линуксе распарсить название файла не может
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #5 : 24 Января 2013, 00:46:46 »

может поможет, нашел бэкапный биллинг на линуксе.


netflow_8888.pl генерился автоматом
Код:
#!/usr/bin/perl
 system("/usr/bin/flow-print -f6 < /var/db/flows/$ARGV[0] >/usr/local/nodeny/sql/1-1352800726 2>/dev/null");
 unlink "/var/db/flows/$ARGV[0]";


кусок из netflow.pl
Код:
$flow_base='/var/db/flows/';
$nodeny_base='/usr/local/nodeny/';
$flow_capture_pid='/var/run/flow-capture/flow-capture.pid';

$flow_print=`which flow-print` || '/usr/local/bin/flow-print';
$flow_export=`which flow-export` || '/usr/local/bin/flow-export';
$cat=`which cat` || '/bin/cat';

вот так у меня раньше на linux вызывался /etc/init.d/netflow

Код:
#!/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 $?
тяжко думать щас ночью (
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #6 : 24 Января 2013, 18:53:44 »

ошибку выдает flow-capture.pid.0 No such file or directory
при поиске pid выдает 0 вместо 8888, поэтому человек раньше тупо писал $port=8888 и радовался жизни, но вот стало нужно принять поток на другой порт и опять возникла байда
потому что netflow.pl не правильно парсит название файла netflow_8888.pl и не подставляет 8888 в $port
Почему? хз видимо в лине перл как-то по другому слегка парсит, я уже с таким сталкивался когда с snmp плотно занимался.
Разобраться не сложно, но у меня нет действующего тазика на линуксе.
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #7 : 24 Января 2013, 20:59:17 »

скорее даже в версии дело.
потому что у меня 2 года вертелся на линуксе, все парсило
Записан
md5
NoDeny
Старожил
*

Карма: 0
Offline Offline

Сообщений: 256

647618
Просмотр профиля
« Ответ #8 : 25 Января 2013, 01:04:26 »

скорее даже в версии дело.
потому что у меня 2 года вертелся на линуксе, все парсило

Это не есть проблема дать права. Напиши в асю выдам =)
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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