Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Файл начинается с 16 байтового префикса

MAGIC

VERSIONTYPEHEADER LENGTH
42 47 44 4C00 00 00 0400 00 00 0100 00 00 C9
BGDL4
1
IP201

где TYPE:  IP=1, RADIUS=2, DHCP=3

Далее идет блок с параметрами заголовка, длина блока берется из префикса (например, 201 - в таблице выше)

4 байта4 байтаN байт
ID первого параметрадлина первого параметра,  N байтзначение первого параметра
.........
ID последнего параметрадлина последнего параметра,  N байтзначение последнего параметра

Параметры заголовка

IDНазваниеДлина, байтОписаниеПример
3FINISHED_ID1Флаг окончание записи файла-лога, 0 - не закончен, 1 - законченTRUE
4BUFFER_ID5Если тип CHUNKED(1), данные в файле разбиты на блоки размером Size байт. Если тип NONE(0), то данные хранятся одним блоком размером Size байтType: CHUNKED; Size: 524288
5COMPRESSION_ID3Сжатие блока с данными: NONE(0), ZLIB(1), GZIP(2), XZ(3)Type: ZLIB; Level: 5; Strategy: 1
6DISTRIBUTED_ID1если 0 - данные хранятся в том же файле что и заголовок, если 1 - данные в отдельном файле log_YYYY-MM-DD-HH.XXX.data

TRUE

7STREAMING_ID1Флаг, значения 0 и 1.TRUE
100IP_DATALOG_TYPE_ID3формат логов: RAW(0), NETFLOW(1), SFLOW(2), SNMP(3), NETFLOW9(4), IPFIX(5)Type: NETFLOW9
110NETFLOW9_TEMPLATES_IDYописание шаблонов с данными: 2 байта ID шаблона, 2 байта количество полей в шаблоне, далее для каждого поля 2 байта ID поля + 2 байта длина поля, далее следующий шаблон пока не переберем Y байтTemplate IDs: 256, 257, 258, 259

После параметров заголовка в зависимости от значения параметра DISTRIBUTED_ID идут пакеты с данными если DISTRIBUTED_ID=0 или файл bgdl заканчивается, а данные находятся в отдельном файле log_YYYY-MM-DD-HH.XXX.data.

В зависимости от значения параметра COMPRESSION_ID данные могут быть сжаты или нет.

Формат файла с данными. В зависимости от значения параметра BUFFER_ID данные могут располагаться одним блоком или могут быть разбиты на равные куски (CHUNK). Если BUFFER_ID=1, данные разбиты на куски размером size байт, если BUFFER_ID=0 данные хранятся одним блоком размером size байт.

Если данные хранятся кусками, то в начале каждого куска идет заголовок 16 байт

4 байта4 байта4 байта4 байта
реальная длина блока с данными, может быть меньше длины кусканомер куска в файле??

Далее идут пакеты flow в том формате в котором они приходят от оборудования.