Jump to content
Калькуляторы

Запуск нескольких экземпляров flow-capture на CentOS сбор статистики с нескольких маршрутизаторов

Приветствую! Интересует вопрос, кто занимался. Как при помощи flow-capture собрать статистику с нескольких маршрутизаторов?

1. Есть ли возможность через flow-report вывести IP маршрутизатора, с которого пришла статистика.

2. Если 1 невозможно, как запустить второй экземпляр flow-capture (без костылей).

Edited by korobeynikov

Share this post


Link to post
Share on other sites

# grep nfcap /etc/rc.local

/bin/nfcapd -z -w -D -T all -l /store/flows/asr-1002-x-NAT -p 8889 -I asr-1002-x-NAT -S 1
/bin/nfcapd -z -w -D -T all -l /store/flows/asr-1002-x-DATA -p 9995 -I asr-1002-x-DATA -S 1

 

C flow-capture также по портам можно разойтись, например.

Edited by ShyLion

Share this post


Link to post
Share on other sites

Приветствую! Интересует вопрос, кто занимался. Как при помощи flow-capture собрать статистику с нескольких маршрутизаторов?

1. Есть ли возможность через flow-report вывести IP маршрутизатора, с которого пришла статистика.

2. Если 1 невозможно, как запустить второй экземпляр flow-capture (без костылей).

А какие костыли ? У меня flow-capture вполне висит на разных ip-адресах одной системы и на разных портах

Share this post


Link to post
Share on other sites

C flow-capture также по портам можно разойтись, например.

По портам в этом вопрос и заключается, как это на CentOS сделать, т.к. там конфигурирование идёт через /etc/sysconfig/flow-capture

 

И вообще это странно, что id маршрутизатора эта штука не использует... Или всё-таки можно каким-то образом вытащить?

Share this post


Link to post
Share on other sites

И вообще это странно, что id маршрутизатора эта штука не использует... Или всё-таки можно каким-то образом вытащить?

 

Дак flow-filter на что?

Share this post


Link to post
Share on other sites

flow-filter

Так а по какому полю фильтровать?

 

# man flow-filter
...
-e exaddr_filter
   Exporter IP address filter. One exporter address can be filtered.

Share this post


Link to post
Share on other sites

ShyLion, отлично, получается не нужно несколько экземпляров запускать, ведь так?

А не знаете, это -e можно где-то задать в отчёте (stat-report/stat-definition) или вместе с фильтром (filter-primitive/filter-definition)? Или так же прогонять через pipe?

Edited by korobeynikov

Share this post


Link to post
Share on other sites

ShyLion, отлично, получается не нужно несколько экземпляров запускать, ведь так?

А не знаете, это -e можно где-то задать в отчёте вместе с фильтром? Или так же прогонять через pipe?

 

там вся концепция на пайпах

кроме flow-filter есть более быстрый flow-nfilter, в любом случае по IP экспортера можно фильтровать.

 

Несколько экземпляров делают, когда нужно в разные места писать. Для возможности передвижения и быстрее фильровать, что очевидно. Короче от задачи зависит.

 

Кстати, flow-tools вроде прекратили работу над проектом, оно не умеет многие новые вещи, в отличии от nfdump. Например логирование трансляций с Cisco.

Share this post


Link to post
Share on other sites

А про запуск нескольких экземпляров на CentOS кто-нибудь что-нибудь скажет?

Share this post


Link to post
Share on other sites

А про запуск нескольких экземпляров на CentOS кто-нибудь что-нибудь скажет?

 

Что мешает через rc.local запускать или стартап-скрипт слабать второй?

Это азы линукса.

 

# man flow-capture
...
Examples

Receive flows from the exporter at 10.0.0.1 port 9800. Maintain 5 Gigabytes of flow files in /flows/krc4. Mask the source and destination IP addresses contained in the flow exports with 255.255.248.0.

flow-capture -w /flows/krc4 -m 255.255.248.0 -E5G 0/10.0.0.1/9800

Receive flows from any exporter on port 9800. Do not perform any flow file space management. Store the exports in /flows/krc4. Emit a stat log message every 5 minutes.

flow-capture -w /flows/krc4 0/0/9800 -S5

Edited by ShyLion

Share this post


Link to post
Share on other sites

Ничего не мешает, CentOS зачем-то в /etc/sysconfig все настройки переместил для flow-tools и оно работает не так, как в Debian.

Просто интересуюсь, может кто сталкивался и разбирался. Выходит, что всё печально.

Share this post


Link to post
Share on other sites

Ничего не мешает, CentOS зачем-то в /etc/sysconfig все настройки переместил для flow-tools и оно работает не так, как в Debian.

Просто интересуюсь, может кто сталкивался и разбирался. Выходит, что всё печально.

 

Не центос, а конкретный мейнтенер пакета.

Чтение параметров из указаного файла, подозреваю, делает стартап скрипт, а не сам бинарник. Запустить еще один экземпляр бинарника с нужными параметрами ничто не мешает, лишь бы номер порта другой был.

Кроме того, можно написать свой стартап скрипт как тебе самому хочется.

 

С чего все стало печально - непонятно. Линукс не для любителей "чтобы оно само".

Share this post


Link to post
Share on other sites

В запускающем скрипте не было никаких предпосылок для запуска нескольких экземпляров. Одним pid-файлом не обойдёшься.

Share this post


Link to post
Share on other sites

В запускающем скрипте не было никаких предпосылок для запуска нескольких экземпляров. Одним pid-файлом не обойдёшься.

 

ps axww | grep flow-capture

Share this post


Link to post
Share on other sites

В запускающем скрипте не было никаких предпосылок для запуска нескольких экземпляров. Одним pid-файлом не обойдёшься.

 

ps axww | grep flow-capture

 

3383 ?? Ss 307:22.29 /usr/local/bin/flow-capture -S 60 -z 5 -n 143 -N 3 -w /usr/local/var/flows/acct/ 127.0.0.1/127.0.0.1/9996

3387 ?? Ss 55:39.07 /usr/local/bin/flow-capture -S 60 -z 5 -n 143 -N 3 -w /usr/local/var/unlimflows/acct/ 0/xxx.xxx.xxx.xxx/9998

 

С pid все нормально, freebsd пишет их так

 

flow-capture.pid.9996

flow-capture.pid.9998

Share this post


Link to post
Share on other sites

# man flow-capture
...
-p pidfile
  Configure the process ID file. Use - to disable pid file creation.

 

Топикстартер, ты маны читаешь вообще?

Edited by ShyLion

Share this post


Link to post
Share on other sites

В запускающем скрипте не было никаких предпосылок для запуска нескольких экземпляров. Одним pid-файлом не обойдёшься.

Вы пробовали создать копию стартап скрипта в init.d и внутри просто поправить имя файла который лежит в sysconfig?

Там же правится имя пид файла что прописано жестко в стартап скрипте.

Затем в сисконфиг создаем копию файла с параметрами аналогично тому что во втором скрипте из инита.

Пробуем.

Edited by MESB

Share this post


Link to post
Share on other sites

Совсем, нынче, админ ленивый пошёл.

 

cat /etc/sysconfig/flow-capture
# Change the source IP and port to what is used on your network
-n 288 -N 0 -w /tmp/test1 -S 5 0/0/9996
-n 288 -N 0 -w /tmp/test2 -S 5 0/0/9997

/etc/init.d/flow-capture
start() {
   [ -x $exec ] || exit 5
   [ -f $config ] || exit 6
   echo Starting $prog
   index=1
   grep -v "^#" /etc/sysconfig/flow-capture | while read args
   do
     daemon --user=$FLOWTOOLS_USER $exec $args -p /var/run/flow-capture$index.pid
     index=$(( $index + 1 ))
     echo with args $args
   done
}

stop() {
   echo -n $"Stopping $prog: "
   killproc $prog
   echo
}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.