У некоторых пользователей возникает потребность в сборе дополнительных данных о сессиях клиентов помимо требуемых законодательством.
В таком случае стоит рассмотреть настройку на вашем сервере сбора статистики с помощью протокола netflow.

В статье расскажем, как настроить сбор на примере роутера Mikrotik и коллектора на Debian.

Запустите на микротике New Terminal, выполните команды:

/ip traffic-flow set enabled=yes interfaces=hs-bridge
/ip traffic-flow target add dst-address=10.0.0.2 port=3000 v9-template-timeout=1m version=5

Включаем traffic flow на микротике

Первой строкой мы включаем Traffic Flow. В interfaces указываете те интерфейсы, с которых планируете собирать статистику (если собираетесь делать это с нескольких, укажите их через запятую, если все — то inetrfaces=all).

Вторая строка настраивает хост назначения, получающий собираемые данные (коллектор). Указываем адрес (в нашем случае адрес сервера с коллектором 10.0.0.2).

Далее установим flow-tools на linux:

apt-get update
apt-get install flow-tools

Отредактируем файл:

nano /etc/flow-tools/flow-capture.conf

Строку из example1 приведем к виду (10.0.0.1 — адрес нашего микротика):

-w /var/flow/myrouter 0/10.0.0.1/3000

Редактируем файл flow-capture.conf

Далее создадим папку для записи логов:

mkdir /var/flow

mkdir /var/flow/myrouter

И перезапустим коллектор:

/etc/init.d/flow-capture restart

В папке должен появиться файл.

Проверяем файл статистики

Через 15 минут можно посмотреть его содержимое:

flow-cat <flow-file> | flow-print

Стоит помнить о том, что логи netflow крайне «прожорливы», поэтому рекомендуем хранить их на отдельном диске.

Чтобы добавить для сбора второй роутер, создадим  еще одну папку для логов:

mkdir /var/flow/myrouter2

После снова отредактируем файл nano /etc/flow-tools/flow-capture.conf Добавим новую запись, не забыв указать адрес вашего роутера:

-w /var/flow/myrouter2 0/10.0.1.1/3000 

Не забывайте о том, что роутер также должен видеть ваш сервер.