# logpile v1.31 Дата релиза: 2026-09-01 Тег: `v1.31` Накопительный список изменений с версии v1.26. ## Парсеры ### nvidia_bug_report: извлечение ошибок GPU Xid/SXid (ADL-055) Парсер теперь сканирует `nvidia-bug-report-*.log.gz` на строки `NVRM: Xid` / `NVRM: SXid` и выдаёт события с эвристической классификацией «железо против нагрузки» по каталогу Xid-кодов. Лавинообразный поток одного NVLink-сообщения (наблюдалось 114 440 строк за раз) сворачивается в одно суммарное событие. ### Одиночные .gz больше не обрезаются фиксированным лимитом (ADL-054) Распаковка одиночного gzip-файла ограничивается не жёстким потолком в 50 МБ, а защитой по коэффициенту сжатия (300:1) и абсолютным потолком 1 ГБ. Большие bug-report-логи (пример: 53 МБ в распакованном виде) проходят целиком. ### Inspur: часовые пояса, PPIN, активные отказы NVMe - Уровень события берётся из RFC 5424 PRI; SEL-записи без смещения времени разрешаются по временной шкале из IDL-записей с явным смещением; убраны фиктивные записи 1970 года (ADL-056). - PPIN процессора экспортируется как серийный номер CPU; активные отказы NVMe-накопителей (`dev_status.log`, IDL Assert/Deassert) проецируются на статус `hardware.storage` (ADL-057). ### Inspur: комбинированный component.log без devicefrusdr.log / asset.json (ADL-064) - Блок `RESTful FRU info:` теперь разбирается — из него берутся производитель, модель, партномер и системный UUID платы (раньше `board` содержал только серийный номер, `stats.fru` был 0). - Поле `fans_power` приходит как float (`12.000000`) — из-за типа `int` `json.Unmarshal` всего блока падал и терял все датчики вентиляторов. - Из версий прошивок (`RESTful version info`) срезается суффикс со временем сборки (`08.05.01 (02/21/2024 16:51:27)`), иначе он вызывает событие `FIRMWARE_CHANGED` при каждом импорте. - Разбор строк SOL smartd в формате SCSI/SAS. ### xFusion: согласование выгрузок BMC и live-CD одного сервера (ADL-061, ADL-062) - Общая нормализация в экспортёре: метки слотов памяти, модели дата-центровых GPU, тип и интерфейс накопителей, фильтрация onboard-контроллеров и служебных USB-флешек. - OCP NIC выдаётся по одной записи на PCI-функцию без серийного номера, чтобы обе выгрузки ключевали порты по MAC и не порождали ложные install/remove. - Строки `mem_info` восстанавливаются при попадании байта `0x0A` в SPD-поле BOM (исчез фантомный DIMM «slot s»). ### xFusion: размер накопителей из disk_info (ADL-063) `Capacity : 6.986 TB` теперь разбирается (единицы TB/бинарные) в `size_gb`. Раньше `Sscanf("%f GB")` не совпадал и `size_gb` оставался 0 для всех NVMe. ### HPE iLO AHS: дедуп DIMM по слоту (ADL-060) Инвентарь памяти сворачивается по одной записи на слот, выигрывает самый свежий POST-снимок. Замена модуля в слоте больше не даёт лишний модуль (было 26 на 24-слотовой плате). ### easy_bee: поддержка bee-support v12+ `bee-audit.json` и `runtime-health.json` ищутся не только в `export/` (в v12+ они лежат в `tasks/_state/` и `status/`). ### models: PPIN как общий фолбэк серийного номера CPU (ADL-058) `models.ResolveCPUSerialNumber` централизует правило: явный серийник в приоритете, иначе валидный PPIN. Применяется в Dell, H3C, Inspur, Redfish и на границе API/экспорта. Идентификатор никогда не выводится из сокета, модели или чужого компонента. ## Redfish-коллектор - Восстановление GPU и NIC, терявшихся на Redfish-выгрузках xFusion G5500. - Дедуп GPU и разрешение модели по тексту на платах xFusion без PCI-идентити. - RAID/HBA-контроллеры поднимаются из `Storage.StorageControllers[]`. - Адрес preflight-ping собирается через `net.JoinHostPort` для IPv6-хостов. ## Экспорт в Reanimator - Сбор и экспорт `storage.vendor_id` / `device_id` (контракт ingest v2.13, ADL-053). - Дедуп NIC по нормализованному MAC; убран мусорный фолбэк серийника из redis. - Устройства PCIe/GPU/NIC с шириной линии ниже согласованной помечаются `Warning`. - Удалено мёртвое поле `bmc_event_summary`; исправлена потеря статуса для CPU/GPU Inspur. - Канонический дедуп PCIe ключуется по BDF раньше серийника. - Дизамбигуация коллизий слотов PSU и памяти; слоты PSU назначаются по порядку серийников; исправлен дедуп памяти, схлопывавший разные DIMM. - Исправлены обрезание больших tar.gz и подстановка пустого `device_class`. ## Инструменты - Новый офлайн-CLI `logpile-cpu-audit` для аудита идентити процессоров, с режимом `-reanimator` для готовых ingest-пейлоадов (ADL-059). - Пакетная конвертация выполняется на пуле воркеров. ## Документация - `bible-local`: ADL-054 … ADL-064. ## Запуск на macOS Снимите карантинный атрибут через терминал: `xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64` После этого бинарник запустится без предупреждения Gatekeeper.