Update README.md with comprehensive documentation

This commit is contained in:
2026-01-31 00:35:10 +03:00
parent eeed509b43
commit 241e4e3605

119
README.md
View File

@@ -1,13 +1,49 @@
# logpile
# LOGPile
BMC Log analyzer
**LOGPile** - это инструмент для анализа диагностической информации с BMC серверов (IPMI).
Представляет собой standalone Go-бинарник со встроенным веб-интерфейсом, который позволяет анализировать и визуализировать данные из архивов BMC.
## Запуск из исходников
## Особенности
- **Поддержка различных производителей**: Supermicro, Inspur/Kaytus, Nvidia и другие
- **Анализ различных типов данных**:
- System Event Log (SEL) - журнал событий IPMI
- Field Replaceable Unit (FRU) - серийные номера компонентов
- Конфигурация сервера (CPU, RAM, диски, и т.д.)
- **Встроенный веб-интерфейс**: Человекочитаемая визуализация данных
- **Экспорт данных**: Поддержка экспорта в CSV, JSON и TXT форматы
- **Автоматическое определение формата**: Поддержка различных форматов архивов (tar.gz, zip)
## Требования
- Go 1.22+
## Установка
### Сборка из исходников
```bash
# Клонирование репозитория
git clone https://git.mchus.pro/mchus/logpile.git
cd logpile
# Сборка
make build
```
### Быстрая установка (Linux)
```bash
# Скачать последнюю версию
curl -L https://git.mchus.pro/mchus/logpile/-/releases/latest/download/logpile-linux-amd64.tar.gz | tar xz
# Запуск
./logpile serve
```
## Быстрый старт
```bash
# Запуск веб-сервера
./bin/logpile serve
@@ -21,4 +57,79 @@ open http://localhost:8080
./bin/logpile serve --file /path/to/bmc-archive.tar.gz
```
Требования: Go 1.22+
## Функционал
### 1. Анализ архивов
- Поддержка форматов: tar.gz, zip
- Автоматическое определение производителя
- Извлечение всех доступных данных из архива
### 2. Парсинг данных IPMI
- **System Event Log (SEL)**: Анализ событий системы
- **Field Replaceable Unit (FRU)**: Сбор серийных номеров компонентов
- **Конфигурация сервера**: CPU, RAM, диски, PCIe устройства, сетевые карты и т.д.
### 3. Визуализация данных
- Интерактивный веб-интерфейс
- Отображение событий в хронологическом порядке
- Таблицы с конфигурацией сервера
- Списки серийных номеров
- Показания сенсоров
### 4. Экспорт данных
- **CSV**: Экспорт серийных номеров в формате CSV
- **JSON**: Экспорт конфигурации и событий в формате JSON
- **TXT**: Экспорт текстового отчета
## Поддерживаемые производители
- **Supermicro**
- **Inspur/Kaytus**
- **Nvidia**
- **Generic** (fallback для неизвестных форматов)
## API Endpoints
```
POST /api/upload # Загрузить архив
GET /api/status # Получить статус парсинга
GET /api/parsers # Получить список доступных парсеров
GET /api/events # Получить список событий
GET /api/sensors # Получить показания сенсоров
GET /api/config # Получить конфигурацию
GET /api/serials # Получить серийные номера
GET /api/firmware # Получить версии прошивок
GET /api/export/csv # Экспорт в CSV
GET /api/export/json # Экспорт в JSON
GET /api/export/txt # Экспорт текстового отчета
DELETE /api/clear # Очистить загруженные данные
POST /api/shutdown # Завершить работу приложения
```
## Структура проекта
```
logpile/
├── cmd/logpile/main.go # Точка входа
├── internal/
│ ├── parser/ # Парсинг архивов и IPMI данных
│ ├── models/ # Модели данных
│ ├── analyzer/ # Логика анализа
│ ├── exporter/ # Экспорт данных
│ └── server/ # HTTP сервер и handlers
├── web/ # Embedded веб-интерфейс
│ ├── static/ # CSS, JS, изображения
│ └── templates/ # HTML шаблоны
├── testdata/ # Примеры архивов для тестов
├── go.mod
├── Makefile
└── README.md
```
## Лицензия
Этот проект лицензирован под MIT License - смотрите файл [LICENSE](LICENSE) для получения подробной информации.
## Автор
[https://mchus.pro](https://mchus.pro)