IPFIX/NetflowV9 коллектор ipfixreceiver2 [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

dpi:dpi_components:utilities:ipfixreceiver2:start [2023/09/01 08:48] – создано elena.krasnobryzhdpi:dpi_components:utilities:ipfixreceiver2:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
-====== IPFIX/NetflowV9 коллектор ipfixreceiver2 ====== 
-{{indexmenu_n>3}} 
-===== Введение ===== 
- 
-ipfixreceiver2 представляет из себя IPFIX/NetflowV9 коллектор со следующим функционалом: 
- 
-  * Позволяет сохранять полученные данные в необходимом формате в текстовый файл. 
-  * Позволяет реплицировать полученные данные на другие IPFIX коллекторы. 
- 
-===== Установка и обновление ===== 
- 
-==== CentOS ==== 
- 
-  - Подключите репозиторий VAS Experts <code>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</code> 
-  - Подключите репозиторий [[https://fedoraproject.org/wiki/EPEL|EPEL]] 
-  - Установите ipfixreceiver2:\\ <code>yum install -y ipfixreceiver2</code> 
-  - Для обновления ipfixreceiver2 выполните команду: <code>yum update -y ipfixreceiver2</code> 
- 
-===== Файлы поставки ===== 
- 
-  * Файлы с описанием типов полей данных ipfix: \\ <code>/etc/rcollector/xml/ipfix_raw.xml - Типы полей данных ipfix для fullflow. 
-/etc/rcollector/xml/ipfix_url.xml - Типы полей данных ipfix для clickstream (http запросы). 
-/etc/rcollector/xml/ipfix_sip.xml - Типы полей данных ipfix для sip соединений. 
-/etc/rcollector/xml/ipfix_aaa.xml - Типы полей данных ipfix для aaa событий. 
-/etc/rcollector/xml/ipfix_nat.xml - Типы полей данных ipfix для nat событий.</code> 
- 
-  * Примеры конфигурационных файлов с описанием моделей импорта и экспорта данных ipfix: \\ <code>/etc/rcollector/ipfixreceiver_raw.ini - Импорт и экспорт данных ipfix для fullflow. 
-/etc/rcollector/ipfixreceiver_raw_new.ini - Импорт и экспорт данных ipfix для fullflow для СКАТ версии 8.1 и выше. 
-/etc/rcollector/ipfixreceiver_url.ini - Импорт и экспорт данных ipfix для clickstream. 
-/etc/rcollector/ipfixreceiver_sip.ini - Импорт и экспорт данных ipfix для sip соединений. 
-/etc/rcollector/ipfixreceiver_aaa.ini - Импорт и экспорт данных ipfix для aaa событий. 
-/etc/rcollector/ipfixreceiver_nat.ini - Импорт и экспорт данных ipfix для nat событий.</code> 
- 
-  * Исполняемый файл:<code>/usr/bin/ipfixreceiver2</code> 
-=== CentOS 6 === 
- 
-  * Скрипты для запуска процессов импорта и экспорта данных ipfix:<code>/etc/init.d/ipfix_raw - Скрипт запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_raw.ini. 
-/etc/init.d/ipfix_url - Скрипт запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_url.ini. 
-/etc/init.d/ipfix_sip - Скрипт запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_sip.ini. 
-/etc/init.d/ipfix_aaa - Скрипт запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_aaa.ini.</code> 
- 
-=== CentOS 7 === 
- 
-  * Сервисные файлы для запуска процессов импорта и экспорта данных ipfix:<code>/usr/lib/systemd/system/ipfix_raw.service - Сервисный файл для запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_raw.ini. 
-/usr/lib/systemd/system/ipfix_url.service - Сервисный файл для запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_url.ini. 
-/usr/lib/systemd/system/ipfix_sip.service - Сервисный файл для запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_sip.ini. 
-/usr/lib/systemd/system/ipfix_aaa.service - Сервисный файл для запуска ipfixreceiver2 с конфигурационным файлом /etc/rcollector/ipfixreceiver_aaa.ini.</code> 
- 
-===== Параметры запуска программы ===== 
-Программа ipfixreceiver2 имеет следующие параметры запуска:<code>usage: ipfixreceiver2 <-f config file> [options] 
-где 
---daemon                    Запуск программы в фоновом режиме. 
---umask=mask                Установить umask (восьмиричн., по умолчанию 027). 
---pidfile=path              Путь к pid файлу. 
--h, --help                  Вывести краткую справку. 
--fFILE, --config-file=FILE  Путь к конфигурационному файлу. 
--v, --version               Вывести версию программы.</code> 
- 
-===== Конфигурация ===== 
- 
-Параметры работы программы задаются в .ini файле. 
- 
-=== Секция [connect] === 
- 
-В данной секции задаются параметры для приема данных ipfix. 
-  * protocol - IP протокол (tcp или udp)\\ :!: При использовании протокола udp необходимо убедиться, что размер ipfix записи не превышает размер MTU (clickstream данные можно принимать только по протоколу tcp). 
-  * host - интерфейс, на котором будет осуществляться прием данных 
-  * port - номер порта 
-  * flow_type - тип принимаемого потока: ipfix или netflow9. В случае использования netflow9 protocol может быть только udp. 
-  * tcp_idle_time - время простоя для tcp соединения, в секундах. По умолчанию 10 
-  * tcp_keep_cnt - количество запросов на проверку соединения. По умолчанию 5 
-  * tcp_keep_interval - интервал между запросами на проверку, в секундах. По умолчанию 2 
- 
-=== Секция [dump] === 
- 
-В данной секции задаются параметры дампа принятых данных в файл. 
- 
-  * delimiter - символ разделителей данных в файле. 
-  * rotate_minutes - через сколько минут закрывать временный файл и переименовывать его в постоянный. 
-  * rotate_flows - через какое количество ipfix записей закрывать временный файл и переименовывать его в постоянный. 0 - отключение данного вида ротации. 
-  * dumpfiledir - каталог для размещения файлов с дампом. В случае отсутствия данного параметра возможна работа программы в режиме репликации ipfix данных (начиная с версии 0.2.6) без сохранения в файлы. 
-  * fileprefix - префикс имени файла с дампом. 
-  * rotateformat - формирует имя файла с дампом. 
-  * extension - расширение файла с дампом. 
-  * temp_file_suffix - суффикс имени временного файла. 
-  * processcmd - команда для запуска при ротации файла. %s задает имя постоянного файла с дампом. 
-  * detach_child - если true, то процесс processcmd отвязывается от процесса ipfixreceiver'а. 
-  * decode_url - декодировать символы в url при использовании decodepath. 
-  * decode_host - декодировать idna в имени хоста при decodehost. 
-  * decode_referer - декодировать idna в referer при decodereferer. 
-  * reopen_time - через сколько секунд будет предпринята попытка открыть файл для записи дампа после возникшей ошибки с файлом. По умолчанию 30 секунд. 
-  * checkdir - проверять ли на существование dumpfiledir и в случае отсутствия создать каталог (создаются все каталоги из dumpfiledir). По умолчанию true. 
-  * fw_max_elements_in_queue - количество элементов, при котором они отправляются в очередь на запись в файл. По умолчанию 100000. 
-  * fw_max_queue_size - максимальное количество массивов элементов в очереди. Если на момент добавления в очередь количество находящихся в очереди будет больше, то добавляемые данные будут отброшены. По умолчанию 2. 
-  * bad_characters - символы, которые не нужно выводить при записи в файл. Могут быть указаны одиночные символы и escape последовательности. По умолчанию "\t\r\n;\x00". 
- 
-=== Секция [InfoModel] === 
-В данной секции задается xml файл с описанием типа данных в принимаемом потоке ipfix. 
-  * XMLElements - путь к xml файлу с описанием типа данных в формате [[https://www.iana.org/assignments/ipfix/ipfix.xml|IANA IPFIX Entities registry]]. 
- 
-=== Секция [Template] === 
-В данной секции задается порядок следования данных в принимаемом потоке ipfix и при необходимости фильтр принимаемых данных по идентификатору. 
-  * Elements - список принимаемых данных (через запятую). 
-  * filter_tid - только данные с данным идентификатором будут обрабатываться, а с иными будут отброшены. 
- 
-=== Секция [ExportModel] === 
-В данной секции определяется порядок и формат вывода полученных данных. 
-  * Elements - список данных, которые необходимо сохранять в файле (через запятую). Возможно изменить предопределенный формат вывода в файл для каждого типа данных, используя следующий формат: имя_поля:формат_вывода[:опция]. Возможны следующие типы вывода данных: 
- 
-^Формат_вывода^Описание^ 
-|decode_unsigned|Декодировать как unsinged| 
-|decode_signed|Декодировать как signed| 
-|decodeipv4|Декодировать как IPv4 адрес| 
-|decodeipv6|Декодировать как IPv6 адрес| 
-|decode_string|Декодировать как строку| 
-|decode_seconds|Декодировать как дату и время в секундах. Формат вывода по умолчанию '%Y-%m-%d %H:%M:%S'. В опции можно задать свой формат вывода.| 
-|decode_milliseconds|Декодировать как дату и время в миллисекундах. Формат вывода по умолчанию '%Y-%m-%d %H:%M:%S'. В опции можно задать свой формат вывода.| 
-|decodehost|Декодировать как имя хоста| 
-|decodepath|Декодировать как путь в url| 
-|decodereferer|Декодировать как referer| 
- 
-=== Секция [stats] === 
-В данной секции задаются параметры вывода статистики работы программы в telegraf. 
-  * socket_path - путь к datagram socket telegraf'а. 
-  * interval - через сколько секунд отправлять статистику в telegraf. 
-  * tag - тег, выставляемый в поле ipfix_tag при отправке статистики в telegraf. 
- 
-=== Секция [export] === 
- 
-  *to - задаются адреса коллекторов для экспорта полученных ipfix записей. Формат ip/port/proto[,ip/port/proto]. Например:<code>[export] 
-to=10.0.0.2/9921/tcp, 10.0.0.3/3444/udp</code> :!: При использовании протокола udp необходимо убедиться что одна ipfix запись не превышает размер MTU. 
-  *queue_size - количество элементов в очереди (для каждого адреса назначения из to своя очередь) на отправку. По умолчанию 50000. 
-  *domain - идентификатор домена. По умолчанию 1. 
- 
-=== Секция [logging] === 
-В данной секции задаются параметры логирования программы. 
-  * loggers.root.level - уровень логирования 
-  * loggers.root.channel - канал для вывода сообщений 
-  * channels.fileChannel.class - класс канала вывода 
-  * channels.fileChannel.path - путь к лог-файлу 
-  * channels.fileChannel.rotation - параметр ротации 
-  * channels.fileChannel.archive  - параметр имени архивных файлов  
-  * channels.fileChannel.purgeCount - количество архивных файлов 
-  * channels.fileChannel.formatter.class - класс форматировщика 
-  * channels.fileChannel.formatter.pattern - шаблон для форматировщика 
-  * channels.fileChannel.formatter.times - время 
-:!: Более подробно ознакомиться с параметрами логирования можно по ссылке [[https://pocoproject.org/docs/Poco.FileChannel.html|Class FileChannel]]. 
- 
-===== Обработка сигнала HUP ===== 
- 
-При получении сигнала HUP основным процессом программы производится принудительное закрытие временного файла и переименовывание его в постоянный файл (выполняется ротация файлов). 
- 
- 
-===== Примеры конфигураций ===== 
- 
-=== Приём ipfix данных === 
- 
-В файлах /etc/rcollector/ipfixreceiver_*.ini приведены примеры настройки для получения различных потоков данных ipfix. Перед запуском программы необходимо изменить конфигурационный файл под ваши требования. 
-  * При необходимости внести изменения в секцию [connect], указав интерфейс, порт и протокол для приема ipfix данных. 
-  * В секции [dump] указать: 
-    * dumpfiledir - каталог, где будут создаваться временный файл и файлы с данными. 
-    * rotate_minutes - время, через которое закрывать временный файл, переименовывать его в файл с постоянным именем и выполнить команду из параметра processcmd для действий над полученным файлом. 
-    * processcmd - команду, необходимую выполнить над файлом с данными. 
-    * delimiter - символ разделитель между полями данных. 
-  * В секции [ExportModel] указать необходимый порядок следования полей в сохраняемом файле. 
- 
-=== Экспорт ipfix данных === 
- 
-Для экспорта получаемых ipfix данных необходимо внести изменения в конфигурационный файл, путем добавления секции [export] и указания адресов назначения. Например, для отправки ipfix данных на ipfix коллектор с адресом 10.0.0.5:1501 по протоколу tcp, элемент конфигурации будет выглядеть следующим образом: 
-<code>[export] 
-to = 10.0.0.5/1501/tcp</code> 
-Если необходимо задать несколько ipfix коллекторов, то их можно указать через запятую. Например: 
-<code>[export] 
-to = 10.0.0.5/1501/tcp, 192.168.1.200/1501/tcp</code> 
-