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>
73 lines
2.8 KiB
Markdown
73 lines
2.8 KiB
Markdown
# Generic Text File Parser
|
||
|
||
Fallback парсер для текстовых файлов, которые не распознаны другими парсерами.
|
||
|
||
## Назначение
|
||
|
||
Этот парсер обрабатывает любые текстовые файлы, которые:
|
||
- Не являются архивами специфичных вендоров
|
||
- Содержат текстовую информацию (не бинарные данные)
|
||
- Представляют собой одиночные .gz файлы или простые текстовые файлы
|
||
|
||
## Приоритет
|
||
|
||
**Confidence score: 15** (низкий приоритет)
|
||
|
||
Этот парсер срабатывает только если ни один другой парсер не подошел с более высоким confidence.
|
||
|
||
## Поддерживаемые файлы
|
||
|
||
### Автоматически распознаваемые типы
|
||
|
||
1. **NVIDIA Bug Report** (`nvidia-bug-report-*.log.gz`)
|
||
- Извлекает информацию о драйвере NVIDIA
|
||
- Находит GPU устройства
|
||
- Показывает версию драйвера
|
||
|
||
2. **Любые текстовые файлы**
|
||
- Проверяет, что содержимое - текст (не бинарные данные)
|
||
- Показывает базовую информацию о файле
|
||
|
||
## Извлекаемые данные
|
||
|
||
### Events
|
||
|
||
- **Text File**: Базовая информация о загруженном файле
|
||
- **Driver Info**: Информация о NVIDIA драйвере (для nvidia-bug-report)
|
||
- **GPU Device**: Обнаруженные GPU устройства (для nvidia-bug-report)
|
||
|
||
## Пример использования
|
||
|
||
```bash
|
||
# Запуск с nvidia-bug-report
|
||
./logpile --file nvidia-bug-report-*.log.gz
|
||
|
||
# Запуск с любым текстовым файлом
|
||
./logpile --file system.log.gz
|
||
```
|
||
|
||
## Версионирование
|
||
|
||
**Текущая версия парсера:** 1.0.0
|
||
|
||
## Ограничения
|
||
|
||
1. Этот парсер предоставляет только базовую информацию
|
||
2. Не выполняет глубокий анализ содержимого
|
||
3. Для детального анализа специфичных логов рекомендуется создать dedicated парсер
|
||
|
||
## Расширение
|
||
|
||
Чтобы добавить поддержку нового типа файлов:
|
||
|
||
1. Добавьте проверку в функцию `Parse()`
|
||
2. Создайте функцию `parseXXX()` для извлечения специфичной информации
|
||
3. Увеличьте версию парсера
|
||
|
||
Пример:
|
||
```go
|
||
if strings.Contains(strings.ToLower(file.Path), "custom-log") {
|
||
parseCustomLog(content, result)
|
||
}
|
||
```
|