1. Паспорт экспортёра и коллектора
Запишите устройство и процесс экспорта, транспорт, сессию, Observation Domain и временной интервал. Здесь рассматривается IPFIX по RFC7011, а не NetFlow v9 под другим именем. Формат нормализованного JSON коллектора задаётся самим коллектором и не является wire-форматом протокола. Формат экспорта зависит от продукта, версии и настроек.
2. Найдите сообщения и шаблон
В уже полученных данных коллектора найдите Data Set и соответствующий Template Record. Сопоставление выполняйте в контексте транспортной сессии и Observation Domain, сохраняя время получения шаблона. Один Template ID без контекста недостаточен: такой номер может использовать другой экспортёр. Не подставляйте схему из соседнего источника, даже если несколько декодированных полей выглядят правдоподобно.
3. Прочитайте авторский пример
Заметка с exporter=192.0.2.1, domain=7 и template=256 — схема расследования, не бинарное IPFIX-сообщение и не стандартный JSON. Поле fields необходимо заполнить реальными IE, длинами и enterprise-контекстом из полученного шаблона. Пока этих данных нет, нельзя объявлять первый числовой столбец адресом либо счётчиком и выполнять содержательные расчёты.
4. Проверьте времена и последовательность
Export Time относится к экспорту, а не автоматически к началу каждого потока. Sequence Number считает Data Records в соответствующем stream/domain; Template Records его не увеличивают. Разрыв следует разбирать с учётом транспорта, перезапуска и контекста счётчика, а не как универсальное число потерянных пакетов пользовательского трафика. Сохраните исходные заголовки сообщений и статус декодирования.
5. Подтвердите смысл выбранных данных
После правильного шаблона установите направление, единицы и интервалы учёта интересующих IE. Отдельно найдите сведения о sampling или ограничениях экспортёра, если они применяются в среде. Только затем сопоставляйте записи с адресами конечных узлов и другими журналами. Существование потока не доказывает успешную операцию приложения, а агрегированный счётчик не является полным содержимым сетевого обмена.
6. Если декодирование невозможно
Проверьте получение шаблона раньше Data Records, его актуальность, transport session и Observation Domain. Уточните потерю сообщений, состояние template-cache и смену процесса экспортёра. Если шаблон не сохранился, оставьте запись недекодированной и явно опишите пробел. Восстановление неизвестной схемы по внешнему виду значений не считается достоверным разбором; новая настройка экспорта не восстановит прошлые данные.