New parsers: - NVIDIA Field Diagnostics parser with dmidecode output support - NVIDIA Bug Report parser with comprehensive hardware extraction - Supermicro crashdump (CDump.txt) parser - Generic fallback parser for unrecognized text files Enhanced GPU parsing (nvidia-bug-report): - Model and manufacturer detection (NVIDIA H100 80GB HBM3) - UUID, Video BIOS version, IRQ information - Bus location (BDF), DMA size/mask, device minor - PCIe bus type details New hardware detection (nvidia-bug-report): - System Information: server S/N, UUID, manufacturer, product name - CPU: model, S/N, cores, threads, frequencies from dmidecode - Memory: P/N, S/N, manufacturer, speed for all DIMMs - Power Supplies: manufacturer, model, S/N, wattage, status - Network Adapters: Ethernet/InfiniBand controllers with VPD data - Model, P/N, S/N from lspci Vital Product Data - Port count/type detection (QSFP56, OSFP, etc.) - Support for ConnectX-6/7 adapters Archive handling improvements: - Plain .gz file support (not just tar.gz) - Increased size limit for plain gzip files (50MB) - Better error handling for mixed archive formats Web interface enhancements: - Display parser name and filename badges - Improved file info section with visual indicators Co-Authored-By: Claude (qwen3-coder:480b) <noreply@anthropic.com>
NVIDIA Bug Report Parser
Парсер для файлов nvidia-bug-report, генерируемых скриптом nvidia-bug-report.sh.
Назначение
Этот парсер обрабатывает диагностические логи NVIDIA драйверов и извлекает:
- Информацию о модулях памяти (из dmidecode)
- Информацию о GPU устройствах
- Версию NVIDIA драйвера
Формат файла
- Имя файла:
nvidia-bug-report-*.log.gz - Формат: Gzip-сжатый текстовый файл
- Генерируется:
nvidia-bug-report.shскриптом
Confidence Score
85 - высокий приоритет для файлов nvidia-bug-report
Извлекаемые данные
1. System Information (из dmidecode)
Информация о сервере:
- Serial Number: Серийный номер сервера (например, 2KD501412)
- UUID: Уникальный идентификатор системы (например, 2e4054bc-1dd2-11b2-0284-6b0a21737950)
- Manufacturer: Производитель сервера
- Product Name: Модель сервера
- Version: Версия системы
2. CPU Information (из dmidecode)
Для каждого процессора извлекается:
- Model: Модель процессора (например, Intel(R) Xeon(R) Platinum 8480+)
- Serial Number: Серийный номер (например, 5DB0D6C0DD30ABD8)
- Core Count: Количество ядер (например, 56)
- Thread Count: Количество потоков (например, 112)
- Max Speed: Максимальная частота (например, 3800 MHz)
- Current Speed: Текущая частота (например, 2000 MHz)
Пример:
Socket 0: Intel(R) Xeon(R) Platinum 8480+
Serial Number: 5DB0D6C0DD30ABD8
Cores: 56, Threads: 112
Frequency: 2000 MHz (Max: 3800 MHz)
3. Memory Modules (из dmidecode)
Для каждого модуля памяти извлекается:
- Slot/Location: Например, CPU0_C0D0
- Size: Размер в GB (например, 64 GB)
- Type: Тип памяти (DDR5, DDR4, etc.)
- Manufacturer: Производитель (Hynix, Samsung, Micron, etc.)
- Part Number: P/N модуля (например, HMCG94AGBRA179N)
- Serial Number: S/N модуля (например, 80AD0224322B3834E6)
- Speed: Max/Current скорость (например, 5600/4400 MHz)
- Ranks: Количество рангов
Пример:
Slot: CPU0_C0D0
Size: 64 GB
Type: DDR5
Manufacturer: Hynix
Part Number: HMCG94AGBRA179N
Serial Number: 80AD0224322B3834E6
Speed: 5600 MT/s (configured: 4400 MT/s)
Ranks: 2
4. Power Supplies (из dmidecode)
Для каждого блока питания извлекается:
- Location: Позиция (например, PSU0, PSU1)
- Manufacturer: Производитель (например, DELTA, Great Wall)
- Model Part Number: Модель БП (например, V0310DT000000000)
- Serial Number: Серийный номер (например, DGPLV251500LZ)
- Max Power Capacity: Максимальная мощность (например, 2700 W)
- Revision: Версия прошивки (например, 00.01.04)
- Status: Статус (например, Present, OK)
Пример:
PSU0: V0310DT000000000 (DELTA)
Serial Number: DGPLV251500LZ
Power: 2700 W, Revision: 00.01.04
Status: Present, OK
5. Network Adapters (из lspci)
Для каждого сетевого адаптера (Ethernet, Network, InfiniBand) извлекается:
- Model: Полное название модели из VPD (например, "NVIDIA ConnectX-7 HHHL Adapter card, 400GbE / NDR IB (default mode), Single-port OSFP, PCIe 5.0 x16")
- Location: PCI BDF адрес (например, 0000:0e:00.0)
- Slot: Физический слот (например, 108)
- Part Number: P/N адаптера (например, MCX75310AAS-NEAT)
- Serial Number: S/N адаптера (например, MT2430600249)
- Vendor: Производитель (Mellanox, NVIDIA)
- Vendor ID / Device ID: PCI идентификаторы (например, 15b3:1021)
- Port Count: Количество портов (определяется из модели: Dual-port = 2, Single-port = 1)
- Port Type: Тип портов (QSFP56, OSFP, SFP+)
Пример:
0000:0e:00.0: NVIDIA ConnectX-7 HHHL Adapter card, 400GbE / NDR IB (default mode), Single-port OSFP
Slot: 108
P/N: MCX75310AAS-NEAT
S/N: MT2430600249
Ports: 1 x OSFP
6. GPU Devices
Для каждого GPU извлекается:
- Model: Модель GPU (например, NVIDIA H100 80GB HBM3)
- BDF (Bus:Device.Function): PCI адрес (например, 0000:0f:00.0)
- UUID: Уникальный идентификатор GPU (например, GPU-64674e47-e036-c12a-3e8d-55a2a9ac8db3)
- Video BIOS: Версия BIOS видеокарты (например, 96.00.99.00.01)
- IRQ: Прерывание (например, 17)
- Bus Type: Тип шины (PCIe)
- DMA Size: Размер DMA (например, 52 bits)
- DMA Mask: Маска DMA (например, 0xfffffffffffff)
- Device Minor: Номер устройства (например, 0)
- Manufacturer: NVIDIA
Пример:
0000:0f:00.0: NVIDIA H100 80GB HBM3
UUID: GPU-64674e47-e036-c12a-3e8d-55a2a9ac8db3
Video BIOS: 96.00.99.00.01
IRQ: 17
7. Events
- Memory Configuration: Сводка по модулям памяти (количество, производители, общий размер)
- GPU Detection: Обнаруженные GPU устройства
- Driver Version: Версия NVIDIA драйвера
Пример использования
# Запуск с nvidia-bug-report файлом
./logpile --file nvidia-bug-report-2KD501412.log.gz
# Веб-интерфейс будет доступен на http://localhost:8082
Пример вывода
✓ Detected vendor: NVIDIA Bug Report Parser
✓ CPUs: 2
✓ Memory: 32 modules
✓ Power Supplies: 8
✓ GPUs: 8
✓ Network Adapters: 12
System Information:
Serial Number: 2KD501412
UUID: 2e4054bc-1dd2-11b2-0284-6b0a21737950
Version: 0
CPU Information:
Socket 0: Intel(R) Xeon(R) Platinum 8480+
S/N: 5DB0D6C0DD30ABD8, Cores: 56, Threads: 112
Socket 1: Intel(R) Xeon(R) Platinum 8480+
S/N: 5DB017C05685B3ED, Cores: 56, Threads: 112
Power Supplies:
PSU0: V0310DT000000000 (DELTA)
S/N: DGPLV251500LZ
Power: 2700 W, Revision: 00.01.04
Status: Present, OK
PSU1: V0310DT000000000 (DELTA)
S/N: DGPLV251500GY
Power: 2700 W, Revision: 00.01.04
Status: Present, OK
[... 6 more PSUs ...]
Memory Modules:
CPU0_C0D0: 64 GB, Hynix
P/N: HMCG94AGBRA179N, S/N: 80AD0224322B3834E6
Type: DDR5, Speed: 4400/5600 MHz
[... 31 more modules ...]
Network Adapters: 12 devices
0000:0e:00.0: NVIDIA ConnectX-7 HHHL Adapter card, 400GbE / NDR IB (default mode), Single-port OSFP
Slot: 108
P/N: MCX75310AAS-NEAT
S/N: MT2430600249
Ports: 1 x OSFP
0000:1f:00.0: ConnectX-6 Dx EN adapter card, 100GbE, Dual-port QSFP56
Slot: 12
P/N: MCX623106AN-CDAT
S/N: MT2434J00PCD
Ports: 2 x QSFP56
[... 10 more adapters ...]
GPUs: 8 devices
0000:0f:00.0: NVIDIA H100 80GB HBM3
UUID: GPU-64674e47-e036-c12a-3e8d-55a2a9ac8db3
Video BIOS: 96.00.99.00.01
IRQ: 17
0000:34:00.0: NVIDIA H100 80GB HBM3
UUID: GPU-fa796345-c23a-54aa-1b67-709ac2542852
Video BIOS: 96.00.99.00.01
IRQ: 16
[... 6 more GPUs ...]
Версионирование
Текущая версия парсера: 1.0.0
История версий
- 1.0.0 - Первоначальная версия с парсингом System Info, CPU, Memory, PSU, GPU, Network Adapters и Driver
Структура данных
Парсер использует следующие секции в bug report:
- dmidecode output (System Information) - для извлечения информации о сервере
- dmidecode output (Processor Information) - для извлечения информации о CPU
- dmidecode output (Memory Device) - для извлечения информации о памяти
- dmidecode output (System Power Supply) - для извлечения информации о блоках питания
- lspci -vvv output (Ethernet/Network/Infiniband controller) - для извлечения информации о сетевых адаптерах
- lspci VPD (Vital Product Data) - для извлечения P/N, S/N и модели сетевых адаптеров
- /proc/driver/nvidia/gpus/.../information - для детальной информации о GPU
- NVRM version - для версии драйвера
Известные ограничения
- Ошибки и предупреждения из логов пока не извлекаются
- Некоторые специфичные характеристики GPU (температура, утилизация) не парсятся
- Информация о производительности и метрики GPU требуют парсинга других секций
Расширение
Для добавления новых возможностей:
- Ошибки драйвера: Парсить секции с ошибками NVIDIA драйвера
- nvidia-smi output: Извлекать детальную информацию из вывода nvidia-smi (температура, утилизация)
- GPU производительность: Парсить метрики производительности и использования памяти GPU
- PCIe информация: Извлекать детали о PCIe конфигурации (скорость линка, ширина)
Пример структуры файла
Start of NVIDIA bug report log file
nvidia-bug-report.sh Version: 34275561
Date: Thu Jul 17 18:18:18 EDT 2025
[... system info ...]
Memory Device
Data Width: 64 bits
Size: 64 GB
Form Factor: DIMM
Locator: CPU0_C0D0
Type: DDR5
Speed: 5600 MT/s
Manufacturer: Hynix
Serial Number: 80AD0224322B3834E6
Part Number: HMCG94AGBRA179N
[... more memory modules ...]
*** /proc/driver/nvidia/./gpus/0000:0f:00.0/power
[... GPU info ...]