LOGPile

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+

Установка

Сборка из исходников

# Клонирование репозитория
git clone https://git.mchus.pro/mchus/logpile.git
cd logpile

# Сборка
make build

Быстрая установка (Linux)

# Скачать последнюю версию
curl -L https://git.mchus.pro/mchus/logpile/-/releases/latest/download/logpile-linux-amd64.tar.gz | tar xz

# Запуск
./logpile serve

Быстрый старт

# Запуск веб-сервера
./bin/logpile serve

# Открыть в браузере
open http://localhost:8080

# С указанием порта
./bin/logpile serve --port 9000

# С предзагрузкой файла
./bin/logpile serve --file /path/to/bmc-archive.tar.gz

Функционал

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 для получения подробной информации.

Автор

https://mchus.pro

Description
BMC Log analyzer
Readme 26 MiB
v1.8.0 Latest
2026-03-04 08:12:17 +03:00
Languages
Go 85.9%
JavaScript 9.9%
CSS 2.4%
HTML 1.1%
Shell 0.6%
Other 0.1%