IPFIXCol2 - коллектор и балансировщик потоков NetFlow v5/v9 и IPFIX
Введение
IPFIXCol2 — это гибкий, высокопроизводительный коллектор потоковых данных NetFlow v5/v9 и IPFIX, расширяемый с помощью подключаемых плагинов. Версия приложения, представленная в репозитории VAS Experts, включает в себя изменения, необходимые для оптимальной работы с потоками IPFIX со СКАТа.
Установка
- Подключите репозиторий VAS Experts
rpm --import http://vasexperts.ru/centos/RPM-GPG-KEY-vasexperts.ru rpm -Uvh http://vasexperts.ru/centos/6/x86_64/vasexperts-repo-1-0.noarch.rpm
- Установите ipfixcol2:
dnf install -y ipfixcol2
Файлы поставки
Конфигурационный файл:
/opt/vasexperts/etc/ipfixcol2/startup.xml
Исполняемый файл:
/opt/vasexperts/bin/ipfixcol2
Плагины:
/opt/vasexperts/lib64/ipfixcol2/libanonymization-intermediate.so /opt/vasexperts/lib64/ipfixcol2/libfds-output.so /opt/vasexperts/lib64/ipfixcol2/libjson-kafka-output.so /opt/vasexperts/lib64/ipfixcol2/libudp-input.so /opt/vasexperts/lib64/ipfixcol2/libdummy-input.so /opt/vasexperts/lib64/ipfixcol2/libforwarder-output.so /opt/vasexperts/lib64/ipfixcol2/libjson-output.so /opt/vasexperts/lib64/ipfixcol2/libviewer-output.so /opt/vasexperts/lib64/ipfixcol2/libdummy-output.so /opt/vasexperts/lib64/ipfixcol2/libipfix-input.so /opt/vasexperts/lib64/ipfixcol2/libtcp-input.so /opt/vasexperts/lib64/ipfixcol2/libfds-input.so /opt/vasexperts/lib64/ipfixcol2/libipfix-output.so /opt/vasexperts/lib64/ipfixcol2/libtimecheck-output.so
Сервисный файл для запуска приложения:
/usr/lib/systemd/system/ipfixcol2.service
Параметры запуска
Программа имеет следующие параметры запуска:
Usage: ipfixcol2 [-c FILE] [-p PATH] [-e DIR] [-P FILE] [-r SIZE] [-vVhLd] -c FILE Путь к файлу конфигурации (по умолчанию: /etc/opt/vasexperts/ipfixcol2/startup.xml) -p PATH Путь к каталогу с плагинами (по умолчанию: /opt/vasexperts/lib64/ipfixcol2/) -e DIR Путь к каталогу с описанием элеметов IPFIX (по умолчанию: /etc/libfds/) -P FILE Путь к PID файлу (без этой опции PID файл не создается) -d Запустить как демон -r SIZE Размер кольцевого буфера (по умолчанию: 8192) -h Вывести краткую справку -V Вывести версию программы -L Вывести список плагинов и выйти -v Увеличить уровень логирования (по умолчанию логируются только ошибки) (может быть использовано до 3х раз для добавления warning/info/debug сообщений)
Конфигурация приложения для репликации потока IPFIX
В конфигурационном файле /opt/vasexperts/etc/ipfixcol2/startup.xml
приведен пример настройки репликации одного потока IPFIX по TCP на два коллектора в режиме round robin. Конфигурационный файл составлен в формате xml.
<ipfixcol2> <!-- Input plugins --> <inputPlugins> <input> <name>TCP collector</name> <plugin>tcp</plugin> <params> <!-- List on port 1600 --> <localPort>1600</localPort> <!-- Bind to all local adresses --> <localIPAddress>192.168.1.183</localIPAddress> </params> </input> </inputPlugins> <outputPlugins> <output> <name>Forwarder</name> <plugin>forwarder</plugin> <params> <mode>roundrobin</mode> <protocol>tcp</protocol> <premadeConnections>0</premadeConnections> <hosts> <host> <name>Subcollector 1</name> <address>192.168.1.183</address> <port>1500</port> </host> <host> <name>Subcollector 2</name> <address>192.168.1.183</address> <port>1510</port> </host> </hosts> </params> </output> </outputPlugins> </ipfixcol2>
Настройка интерфейса и порта для приема потока IPFIX осуществляется в блоке <inputPlugins>
. Для приема потока IPFIX по протоколу TCP используется плагин tcp
(<plugin> tcp
). В блоке <params>
задаются параметры плагина. В блоке <locapPort>
плагина tcp
указывается номер порта для приема потока IPFIX. В блоке <localIPAddress>
IP-адрес интерфейса для приема потока TCP.
Настройка репликации входного потока IPFIX осуществляется в блоке <outputPlugins>
. Для репликации используется плагин forwarder
(<plugin> forwarder
). В блоке <params>
задаются параметры плагина. В блоке <protocol>
указывается IP-протокол (tcp
или udp
). В блоке <mode>
задается режим распределения входного потока IPFIX по заданным коллекторам (может быть roundrobin
или all
). В блоке <hosts>
указываются коллекторы для репликации входного потока IPFIX. Каждый коллектор описывается отдельным блоком <host>
. В данном блоке задается имя коллектора (блок <name>
), IP-адрес (блок <address>
) и порт (блок <port>
).
Необходимо обратить внимание на значение блока
<mode>
. Для репликации входного потока на все коллекторы необходимо указать all
.
Запуск приложения
Для запуска приложения используется команда:
systemctl start ipfixcol2
Для автоматического запуска приложения при загрузке сервера необходимо выполнить следующую команду:
systemctl enable ipfixcol2
Логирование
Приложение выводит сообщения в syslog
. По умолчанию в лог выводятся только сообщения об ошибках.