dpi:dpi_components:utilities:rcollector2 [Документация VAS Experts]

Это старая версия документа!


Сборка IPFIX потоков rcollector2

Введение

Утилита предназначена для дополнения данными вспомогательных потоков таких как clickstream, SIP из потока сессий (netflow). По умолчанию полученные данные сохраняются в файлы, но данные так же можно сохранять и в БД ИС СОРМ-3.

Установка и обновление

  1. подключите репозитарий VAS Experts аналогично п.1 инструкции установки DPI.
  2. установите rcollector2:
    yum install -y rcollector2
  3. настройте файлы конфигурации в директории /etc/rcollector2 см. далее

:!: Внимание! При переходе с предыдущей версии rcollector на rcollector2 необходимо внести изменения в скрипты запуска.

Файлы поставки

  1. примеры конфигурации:
    /etc/rcollector2/rc2flowprocess - пример исполняемого файла для обработки сессий (netflow)
    /etc/rcollector2/rc2urlprocess - пример исполняемого файла для обработки HTTP сессий
    /etc/rcollector2/rc2sipprocess - пример исполняемого файла для обработки SIP сессий
    /etc/rcollector2/rcollector_flow.properties - пример конфигурационного файла для режима работы flow
    /etc/rcollector2/rcollector_url.properties - пример конфигурационного файла для режима работы url
    /etc/rcollector2/rcollector_sip.properties - пример конфигурационного файла для режима работы sip
  2. исполняемый файл:
    /bin/rcollector2

Параметры запуска программы

Программа rcollector2 имеет следующие параметры запуска:

usage: rcollector2 ОПЦИИ

ОПЦИИ:

  • -h, --help отобразить краткую справку.
  • -fCONFIG, --config-file=CONFIG конфигурационный файл.
  • -mMODE, --mode=MODE режим работы программы. Режимы: flow, urlget, sipget
  • -uidUNIQUEID, --uniqueid=UNIQUEID уникальный номер точки обработки.
  • -ifINFILE, --infile=INFILE входной файл.
  • -ofOUTFILE, --outfile=OUTFILE выходной файл.
  • -asnASN, --localasn=ASN список локальных автономных систем (разделенных запятой)
  • -oufOUTFILTER, --outfilter=OUTFILTER вывод отдельных записей по dpi protocol id в файл. Формат: <outfile>,<protocol>,…<protocol>|[next filter]. Пример: telnet.dump,22,23
  • -tdUSEFILTER, --tordb=USEFILTER путь к файлу с IP адресами сети TOR. По умолчанию /var/data/tor/ip.db.gz.
  • -sdbDIR, --sessiondb=DIR путь к каталогу с данными о сессиях. По умолчанию /var/db/rcollector.
  • -outmailFILE, --outfilemail=FILE выходной файл для данных о mail соединениях в режиме sipget.
  • -outftpFILE, --outfileftp=FILE выходной файл для данных о ftp соединениях в режиме sipget.
  • -outimFILE, --outfileim=FILE выходной файл для данных о im соединениях в режиме sipget.
  • -dhINTEGER, --depth=INTEGER глубина поиска фалов с данными о сессиях.
  • -sdrt, --session-db-read-thread использовать несколько потоков при загрузке данных о сессиях.

:!: Внимание! В некоторых случаях, например, при частом сбросе кеша ОС, данная опция может существенно увеличить время загрузки данных о сессиях. При использовании данной опции, по умолчанию, создаются 2 потока для чтения данных. В примерах исполняемых файлов указана данная опция.

  • -v, --version вывести версию программы.

Конфигурация

Параметры работы программы задаются в .properties файле. По умолчанию загружается конфигурационный файл из каталога /etc/rcollector2 с именем rcollector_MODE.properties, где MODE это выбранный режим работы. Для режима flow - flow; для режима urlget - url; для режима sipget - sip.

:!:При вставке данных в БД, в конфигурационном файле обязательно должны быть заданы следующие параметры:

  • db.host
  • db.port
  • db.user
  • db.pass
  • db.name
  • db.telco_code
  • db.bad_rows_dir
  • db.validation_error_path

При вставке данных в БД выходные файлы не создаются. В случае отсутствия подключения к БД будут создаваться выходные файлы согласно параметрам командной строки. В процессе работы может создаваться файл в каталоге из параметра db.validation_error_path, который который содержит краткую информацию об отброшенных данных, не прошешдих проверку на наличие необходимых полей. Имя файла соответствует имени входного файла с добалвением расширения .err .

Параметр cachedb

Данный параметр позволяет настроить работу с файлами данных о сессиях.

  • max_reader_threads - максимальное количество потоков, запускаемых одновременно, для чтения данных о сессиях из файлов. Целое число от 0 до 6.

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

Параметр stats

Данный параметр устанавливает возможность отправки статистики работы программы в telegraf.

  • socket_path - путь к datagram socket telegraf'а.
  • tag - тег, выставляемый в поле rcollector_tag при отправке статистики в telegraf.

Параметр db

Данные параметр позволяет организовать вывод полученных данных в БД ИС СОРМ-3.

  • host - адрес сервера postgresql
  • port - порт
  • user - имя пользователя
  • pass - пароль пользователя
  • name - имя БД
  • bad_rows_dir - каталог для размещения файлов с данными в формате PGCOPY, которые были отвергнуты сервером posgresql
  • validation_error_path - каталог для файлов с описанием причины для оброшенных входных данных
  • copy_threads - количество потоков, которые вставляют данные в posqresql используя COPY в бинарном формате, по умолчанию 1
  • commit_rows - количество строк в одном блоке, отправляемом на запись в бд при использовании COPY, по умолчанию 5000
  • telco_code - идентификатор telco для записи в соответствующее поле бд
  • db.llds_id - идентификатор типа источника, по умолчанию устанавливаются следующее значения:
    • для режима flow - 309
    • для режима urlget - 310
    • для режима sipget - 311
  • db.ftp.ldds_ldst_id - идентификатор типа источника для режимов flow и sipget при вставке ftp данных, по умолчанию 307
  • db.email.ldds_ldst_id - идентификатор типа источника для режима sipget при вставке email данных, по умолчанию 304
  • db.im.ldds_ldst_id - идентификатор типа источника для режима sipget при вставке im данных, по умолчанию 306
  • db.terminal.ldds_ldst_id - идентификатор типа источника для режима flow при вставке terminal данных, по умолчанию 308
  • db.h323.ldds_ldst_id - идентификатор типа источника для режима flow при вставке h323 данных, по умолчанию 311
  • db.ftp_proto - идентификаторы для определения данных как ftp и их занесение в БД, по умолчанию "20,21,69,115,152,349,574,662,989,990,3713,6620,6621,6622,65086". Для отключения необходимо указать none.
  • db.ssh_proto - идентификаторы для определения данных как terminal и их занесение в БД, по умолчанию "22,23,3820,992,220". Для отключения необходимо указать none.
  • db.h323_proto - идентификаторы для определения данных как h323 и их занесение в БД, по умолчанию "4569,49217". Для отключения необходимо указать none.
  • db.require_subscriber_id - проверять наличие subscriber_id во входных данных, по умолчанию true. Если subscriber_id будет отсутствовать и параметр выставлен в true, то запись будет отброшена, о чем будет сообщено в информационном файле

Параметр logging

Данный параметр отвечает за настройку логирования программы.

  • logging.loggers.root.level - уровень логирования
  • logging.loggers.root.channel - канал для вывода сообщений
  • logging.channels.fileChannel.class - класс канала вывода
  • logging.channels.fileChannel.path - путь к лог-файлу
  • logging.channels.fileChannel.rotation - параметр ротации
  • logging.channels.fileChannel.archive - параметр имени архивных файлов
  • logging.channels.fileChannel.purgeCount - количество архивных файлов
  • logging.channels.fileChannel.formatter.class - класс форматировщика
  • logging.channels.fileChannel.formatter.pattern - шаблон для форматировщика
  • logging.channels.fileChannel.formatter.times - время

:!: Более подробно ознакомиться с параметрами логирования можно по ссылке Class FileChannel.

Статистика работы программы

Типы полей статистических данных о работе программы.

Режим sip

  • read_lines - количество прочитанных строк входного файла
  • sip_bye - количество записей SIP BYE
  • sip_invite - количество записей SIP INVITE
  • sip_miss - количество записей, не имеющих информацию в кэше соединений
  • count_ftp - количество записей ftp
  • bad_ftp - количество ftp записей не сохраненных в файл
  • out_ftp - количество ftp записей успешно сохраненных в файл
  • dup_ftp - количество дублированных ftp записей
  • count_mail - количество записей mail
  • bad_mail - количество mail записей не сохраненных в файл
  • out_mail - количество mail записей успешно сохраненных в файл
  • dup_mail - количество дублированных mail записей
  • count_im - количество записей im
  • bad_im - количество im записей не сохраненных в файл
  • out_im - количество im записей успешно сохраненных в файл
  • bad_sip - количество sip записей не сохраненных в файл
  • out_sip - количество sip записей успешно сохраненных в файл
  • dup_sip - количество дублированных sip записей
  • work_time - время работы программы в миллисекундах

Режим url

  • read_lines - количество прочитанных строк входного файла
  • sess_miss - количество записей для которых нет информации в данных о сессиях
  • resp_miss - количество записей для которых нет информации в данных об ответах
  • resp_skip - количество отброшенных записей (эти записи ответы от серверов)
  • out_lines - количество сохраненных строк в выходном файле
  • work_time - время работы программы в миллисекундах

Режим flow

  • read_lines - количество прочитанных строк входного файла
  • marked_as_tor - количество записей, промаркированных как TOR
  • out_lines - количество сохраненных строк в выходном файле
  • work_time - время работы программы в миллисекундах