# SMC Crash Dump Parser Парсер для архивов Supermicro (SMC) BMC Crash Dump. ## Поддерживаемые серверы - Supermicro SYS-821GE-TNHR - Другие серверы Supermicro с BMC Crashdump функциональностью ## Формат архива Парсер работает с архивами в формате: - `.tgz` / `.tar.gz` (сжатый tar) - `.tar` (несжатый tar) ## Распознаваемые файлы ### Основные файлы 1. **CDump.txt** - JSON файл с данными crashdump - Metadata (BMC, BIOS, ME версии firmware) - CPU информация (CPUID, количество ядер, microcode версия, PPIN) - MCA (Machine Check Architecture) данные - ошибки процессоров ## Извлекаемые данные ### Hardware Configuration #### CPUs ```json { "slot": "CPU0", "model": "CPUID: 0xc06f2", "cores": 56, "manufacturer": "Intel", "firmware": "Microcode: 0x210002b3" } ``` ### FRU Information - BMC Firmware Version - BIOS Version - ME Firmware Version - CPU PPIN (Protected Processor Inventory Number) ### Events События создаются для: - **Crashdump collection** - когда был собран crashdump - **MCA Errors** - ошибки Machine Check Architecture - Corrected errors (Warning severity) - Uncorrected errors (Critical severity) Уровни severity: - `info` - информационные события (crashdump по запросу) - `warning` - предупреждения (corrected MCA errors, reset detected) - `critical` - критические ошибки (uncorrected MCA errors) ## Пример использования ```bash # Запуск веб-интерфейса ./logpile --file /path/to/CDump_090859_01302026.tgz # Веб-интерфейс будет доступен на http://localhost:8082 ``` ## Автоопределение Парсер автоматически определяет архивы SMC Crash Dump по наличию: - `CDump.txt` с маркерами "crash_data", "METADATA", "bmc_fw_ver" Confidence score: - `CDump.txt` с маркерами crashdump: +80 ## Версионирование **Текущая версия парсера:** 1.0.0 При модификации логики парсера необходимо увеличивать версию в константе `parserVersion` в файле `parser.go`. ## Примеры данных ### Пример CDump.txt (metadata) ```json { "crash_data": { "METADATA": { "cpu0": { "cpuid": "0xc06f2", "core_count": "0x38", "ppin": "0xa3ccbe7d45026592", "ucode_patch_ver": "0x210002b3" }, "bmc_fw_ver": "01.03.18", "bios_id": "BIOS Date: 08/04/2025 Rev 2.7", "me_fw_ver": "6.1.4.204", "timestamp": "2026-01-30T09:06:52Z", "trigger_type": "On-Demand" } } } ``` ### MCA Error Detection Парсер проверяет регистры MCA status на наличие ошибок: - Bit 63 (Valid) - индикатор валидной ошибки - Bit 61 (UC) - uncorrected error - Bit 60 (EN) - error enabled ## Известные ограничения 1. Парсер фокусируется на данных из `CDump.txt` 2. Детальный анализ MCA errors пока упрощен (только проверка status регистров) 3. TOR dump и другие расширенные данные пока не парсятся ## Разработка ### Добавление новых полей 1. Изучите структуру JSON в CDump.txt 2. Добавьте поля в структуры `Metadata`, `CPUMetadata`, или `MCAData` 3. Обновите функции парсинга 4. Увеличьте версию парсера ### Расширение MCA анализа Для более детального анализа MCA ошибок можно: 1. Добавить декодирование MCA error codes 2. Парсить MISC и ADDR регистры 3. Добавить корреляцию ошибок между банками