Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:dpi:dpi_components:utilities:rcollector2 [2020/02/20 12:19] – kvazikrav | en:dpi:dpi_components:utilities:rcollector2 [2024/10/11 08:32] (current) – removed elena.krasnobryzh | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== IPFIX flows assembly performed by rcollector2 ====== | ||
- | {{indexmenu_n> | ||
- | |||
- | ===== Introduction ===== | ||
- | |||
- | The utility is designed to complement data with auxiliary streams such as clickstream, | ||
- | |||
- | ===== Installing and upgrading ===== | ||
- | - add the VAS Experts repository as it is shown in n.1 of [[en: | ||
- | - install rcollector2: | ||
- | - edit configuration files in the / | ||
- | |||
- | :!: Attention! It is needed to modify some startup scripts when upgrading from previous version of [[en: | ||
- | ===== Supplied configuration files ===== | ||
- | - configuration examples:\\ <code bash> | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | </ | ||
- | - executable file:\\ <code bash>/ | ||
- | |||
- | ===== rcollector2 command line arguments ===== | ||
- | rcollector2 uses the following command line arguments:< | ||
- | usage: rcollector2 OPTIONS | ||
- | </ | ||
- | OPTIONS: | ||
- | |||
- | * -h, --help | ||
- | * -fCONFIG, --config-file=CONFIG | ||
- | * -mMODE, --mode=MODE | ||
- | * -uidUNIQUEID, | ||
- | * -ifINFILE, --infile=INFILE | ||
- | * -ofOUTFILE, --outfile=OUTFILE | ||
- | * -asnASN, --localasn=ASN | ||
- | * -oufOUTFILTER, | ||
- | * -tdUSEFILTER, | ||
- | * -sdbDIR, --sessiondb=DIR | ||
- | * -outmailFILE, | ||
- | * -outftpFILE, | ||
- | * -outimFILE, --outfileim=FILE | ||
- | * -dhINTEGER, --depth=INTEGER | ||
- | * -sdrt, --session-db-read-thread | ||
- | :!: Attention! In some cases, for example, when OS cache being flushed frequently, this option can significantly increase the load time of session data. When using this option, 2 streams are created for reading data by default. **Examples of executable files presented above use this option.** | ||
- | * -v, --version | ||
- | |||
- | ===== Configuration ===== | ||
- | |||
- | The program parameters are specified in the .properties file. Configuration file named rcollector_MODE.properties in / | ||
- | |||
- | :!: When inserting data into the database, the following parameters **have to be** specified in the configuration file: | ||
- | * db.host | ||
- | * db.port | ||
- | * db.user | ||
- | * db.pass | ||
- | * db.name | ||
- | * db.telco_code | ||
- | * db.bad_rows_dir | ||
- | * db.validation_error_path | ||
- | |||
- | When data is inserted into the database, output files are not created. If there is no connection to the database, output files will be created according to the command line arguments. During operation, a file can be created in the directory as provided by **db.validation_error_path** option, which contains brief information about the data being discarded since it fails test that is used to detect the presence of the required fields. The file name matches the name of the input file with the **.err** extension. | ||
- | |||
- | === cachedb parameter === | ||
- | This parameter allows you to configure the way of handling files containing session data. | ||
- | |||
- | * max_reader_threads - the maximum number of threads starting at the same time to read session data from files. An integer from 0 to 6. | ||
- | :!: In some cases, too many threads can slow down file downloads resulting in a general data processing slowdown. | ||
- | |||
- | === stats parameter === | ||
- | |||
- | This parameter sets the ability of program statistics to be sent to telegraf. | ||
- | * stats.socket_path - path to the telegraf' | ||
- | * stat.stag - tag to be specified in the rcollector_tag field when sending statistics to the telegraf. | ||
- | |||
- | === db parameter === | ||
- | |||
- | Данные параметр позволяет организовать вывод полученных данных в БД ИС СОРМ-3. | ||
- | * db.host - адрес сервера postgresql | ||
- | * db.port - порт | ||
- | * db.user - имя пользователя | ||
- | * db.pass - пароль пользователя | ||
- | * db.name - имя БД | ||
- | * db.bad_rows_dir - каталог для размещения файлов с данными в формате PGCOPY, которые были отвергнуты сервером posgresql | ||
- | * db.validation_error_path - каталог для файлов с описанием причины для оброшенных входных данных | ||
- | * db.copy_threads - количество потоков, | ||
- | * db.commit_rows - количество строк в одном блоке, отправляемом на запись в бд при использовании COPY, по умолчанию 5000 | ||
- | * db.telco_code - идентификатор telco для записи в соответствующее поле бд | ||
- | * db.llds_id - идентификатор типа источника, | ||
- | * для режима flow - 309 | ||
- | * для режима urlget - 310 | ||
- | * для режима sipget - 311 | ||
- | * db.ftp.ldds_ldst_id - идентификатор типа источника для режимов flow и sipget при вставке ftp данных, | ||
- | * db.email.ldds_ldst_id - идентификатор типа источника для режима sipget при вставке email данных, | ||
- | * db.im.ldds_ldst_id - идентификатор типа источника для режима sipget при вставке im данных, | ||
- | * db.terminal.ldds_ldst_id - идентификатор типа источника для режима flow при вставке terminal данных, | ||
- | * db.h323.ldds_ldst_id - идентификатор типа источника для режима flow при вставке h323 данных, | ||
- | * db.ftp_proto - идентификаторы для определения данных как ftp и их занесение в БД, по умолчанию " | ||
- | * db.ssh_proto - идентификаторы для определения данных как terminal и их занесение в БД, по умолчанию " | ||
- | * db.h323_proto - идентификаторы для определения данных как h323 и их занесение в БД, по умолчанию " | ||
- | * db.require_subscriber_id - проверять наличие subscriber_id во входных данных, | ||
- | * db.http.length.htrq_url - максимальное количество символов для поля htrq_url. По умолчанию 1024 | ||
- | * db.ftp.length.ftpc_server_name - максимальное количество символов для поля ftpc_server_name. По умолчанию 256 | ||
- | * db.ftp.length.ftpc_user_name - максимальное количество символов для поля ftpc_user_name. По умолчанию 64 | ||
- | * db.ftp.length.ftpc_user_password - максимальное количество символов для поля ftpc_user_password. По умолчанию 256 | ||
- | * db.email.length.emlc_sender - максимальное количество символов для поля emlc_sender. По умолчанию 256 | ||
- | * db.email.length.emlc_subject - максимальное количество символов для поля emlc_subject. По умолчанию 256 | ||
- | * db.email.length.emlc_reply_to - максимальное количество символов для поля emlc_reply_to. По умолчанию 256 | ||
- | * db.email.length.emcr_receiver - максимальное количество символов для поля emcr_receiver. По умолчанию 256 | ||
- | * db.email.length.mlcs_server - максимальное количество символов для поля mlcs_server. По умолчанию 256 | ||
- | * db.im.length.imcn_user_login - максимальное количество символов для поля imcn_user_login. По умолчанию 20 | ||
- | * db.im.length.imcn_user_password - максимальное количество символов для поля imcn_user_password. По умолчанию 16 | ||
- | * db.im.length.imcn_sender_screen_name - максимальное количество символов для поля imcn_sender_screen_name. По умолчанию 32 | ||
- | * db.im.length.imcn_sender_uin - максимальное количество символов для поля imcn_sender_uin. По умолчанию 256 | ||
- | * db.im.length.imcr_receiver_screen_name - максимальное количество символов для поля imcr_receiver_screen_name. По умолчанию 32 | ||
- | * db.voip.length.vipc_conference_id - максимальное количество символов для поля vipc_conference_id. По умолчанию 64 | ||
- | * db.voip.length.vipc_originator_name - максимальное количество символов для поля vipc_originator_name. По умолчанию 64 | ||
- | * db.voip.length.vipc_calling_original_number - максимальное количество символов для поля vipc_calling_original_number. По умолчанию 128 | ||
- | * db.voip.length.vipc_called_original_number - максимальное количество символов для поля vipc_called_original_number. По умолчанию 128 | ||
- | * db.raw.length.rawf_sni_cn - максимальное количество символов для поля rawf_sni_cn. По умолчанию 128 | ||
- | * db.do_content_id - флаг, позволяющий сохранять dpi session_id в полях data_content_id бд. По умолчанию false | ||
- | * db.raw.sni_protocol - если указан протокол dpi (например 443 для ssl), то при наличии данных host_cn они будут добавлены в поле rawf_sni_cn таблицы raw_flows. По умолчанию выключено | ||
- | |||
- | === Параметр csv === | ||
- | |||
- | * csv.url.extra_data - если значение данного флага true, то в выходном файле для url будут содержаться дополнительные поля: user_agent, cookie, referal. По умолчанию выключено | ||
- | * csv.raw.sni_protocol - если указан протокол dpi (например 443 для ssl), то при наличии данных host_cn они будут добавлены в выходной файл. По умолчанию выключено | ||
- | |||
- | |||
- | === Параметр nat === | ||
- | |||
- | Данные параметры позволяют дополнить flow данными о трансляциях адресов в случае их отсутствия во входном файле. | ||
- | * nat.sessions_dir - каталог для поиска файлов трансляций NAT. Для обработки берутся последние по времени создания файлы. Маска поиска файлов url_*.dump, url_*.dump.gz. | ||
- | * nat.files_cnt - количество файлов, | ||
- | |||
- | Файл трансляций должен быть в формате csv с символом разделения табуляция и иметь следующий формат полей: | ||
- | ^№ поля^Описание^ | ||
- | |1|Время трансляции (timestamp)| | ||
- | |2|Протокол| | ||
- | |3|Тип события NAT| | ||
- | |4|IP адрес источника| | ||
- | |5|Порт источника| | ||
- | |6|IP адрес источника после NAT| | ||
- | |7|Порт источника после NAT| | ||
- | |||
- | |||
- | === Параметр 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 - время | ||
- | :!: Более подробно ознакомиться с параметрами логирования можно по ссылке [[https:// | ||
- | |||
- | ===== Статистика работы программы ===== | ||
- | Типы полей статистических данных о работе программы. | ||
- | |||
- | === Режим 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 | ||
- | * out_mail - количество mail записей успешно сохраненных в файл | ||
- | * dup_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 - количество записей, | ||
- | * out_lines - количество сохраненных строк в выходном файле | ||
- | * work_time - время работы программы в миллисекундах | ||