Настройка коллектора в связке с flow-tools

Построение связки возможно только на UNIX-системах.

В конфигурации необходимо установить опцию load в 0.

# Загружать логи
load=0

Теперь коллектор не будет слушать порты для приема NetFlow/sFlow-потоков и опрашивать SNMP-источники, а только обрабатывать логи источников.

Далее необходимо настроить связку с flow-tools. Коллектор поддерживает формат логов flow-tools, с логами NetFlow версий 5 и 7, поэтому будет достаточно настроить сбор логов flow-tools в директорию логов источника. nesting_level должен быть -3 для совместимости с системой хранения логов коллектора.

Пример: создаем perl файл rotate_1.pl, он будет обрабатывать появление нового лог-файла flow-tools c источника с кодом 1

#!/usr/bin/perl
 
my $name = $ARGV[0];
my $loader='/usr/local/BGIPNNetflowCollector/netflow.sh';
 
if ( $name =~ /.*\.(\d\d\d\d)-(\d\d)-(\d\d)\.(\d\d)/ )
{
my $logYY = $1;
my $logMM = $2;
my $logDD = $3;
my $logHH = $4;
 
`$loader isload 1 $logYY-$logMM-$logDD-$logHH`;
}
else
{
die "unknown format $name";
}

Далее устанавливаем в автозапуск:

flow-capture -N -3 -w /usr/local/log/source_1 -n 95 -R rotate_1.pl 0/0/2003