Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011LffAvostt3uMkiUbVUiyM
109 lines
7.1 KiB
Markdown
109 lines
7.1 KiB
Markdown
# 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.
|