Flow-Tools записки.

СВК
Published

Понадобилось собирать netflow статистику, и для этого выбран был пакет flow-tools и вэб морда к нему FlowViewer. Про вэб морду поговорим позже а вот по flow-tools есть некоторые соображения.

В Centos 7 запуском служб заведует systemd и соответственно, конфигурацию сервисов берёт из /etc/sysconfig. А там, по умолчанию, описаны опции только для одного процесса flow-capture. А так как, по условиям задачи, требуется складывать статистику на каждое устройство (маршрутизатор) в отдельный каталог, то и запускать надо столько процессов сколько устройств отслеживается.

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

/etc/sysconfig/flow-cature

OPTIONS1="-n 287 -N 0 -w /var/spool/flow/router-1 0/192.168.1.1/3000"
OPTIONS2="-n 287 -N 0 -w /var/spool/flow/router-2 0/192.168.2.1/3001"

/usr/lib/systemd/system/flow-capture-1

[Unit]
Description=Flow-capture Capture Traffic Flow Data
After=network.target

[Service]
User=flow-tools
Group=flow-tools
EnvironmentFile=-/etc/sysconfig/flow-capture
ExecStart=/usr/bin/flow-capture -D $OPTIONS1

[Install]
WantedBy=multi-user.target

/usr/lib/systemd/system/flow-capture-2

[Unit]
Description=Flow-capture Capture Traffic Flow Data
After=network.target

[Service]
User=flow-tools
Group=flow-tools
EnvironmentFile=-/etc/sysconfig/flow-capture
ExecStart=/usr/bin/flow-capture -D $OPTIONS2

[Install]
WantedBy=multi-user.target

Далее включаем сервисы

$ systemctl enable flow-capture-1
$ systemctl enable flow-capture-2

Запускаем и пользуемся

$ systemctl start flow-capture-1
$ systemctl start flow-capture-2

Проверить что сервисы запущены можно и через journalctl, но я проверяю так

$ [root@squid-1 multi-user.target.wants]# ps -aux | grep flow

И получим вывод, подобный следующему:

flow-to+ 10383 0.0 0.0 20704 2024 ? Ss 11:12 0:00 /usr/bin/flow-capture -D -n 287 -N 0 -w /var/spool/flow/router-1 0/192.168.1.1/3000
flow-to+ 10474 0.0 0.0 20704 1880 ? Ss 11:16 0:00 /usr/bin/flow-capture -D -n 287 -N 0 -w /var/spool/flow/router-2 0/192.168.2.1/3001

Видно, что запущено два процесса и с нужными настройками.

И если на устройствах отдающих статистику (в данном случае router-1 и -2) все настроено корректно то в каталоге /var/spool/flow/router-{1,2} увидим файлы, типа таких ft-v05.2018-01-25.171806+0300