Update README.md with comprehensive documentation
This commit is contained in:
119
README.md
119
README.md
@@ -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
|
```bash
|
||||||
|
# Клонирование репозитория
|
||||||
|
git clone https://git.mchus.pro/mchus/logpile.git
|
||||||
|
cd logpile
|
||||||
|
|
||||||
# Сборка
|
# Сборка
|
||||||
make build
|
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
|
./bin/logpile serve
|
||||||
|
|
||||||
@@ -21,4 +57,79 @@ open http://localhost:8080
|
|||||||
./bin/logpile serve --file /path/to/bmc-archive.tar.gz
|
./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)
|
||||||
|
|||||||
Reference in New Issue
Block a user