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
|
||||
# Клонирование репозитория
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user