feat: добавлен Makefile для управления проектом и обновлен README.md

- Создан Makefile с командами для сборки, запуска, остановки, перезапуска и просмотра логов
- Добавлены команды: build, up, down, restart, logs, clean, status, shell, dev, rebuild
- Обновлен README.md с информацией об авторе и инструкциями по использованию Makefile
- Добавлена таблица команд Makefile для удобства пользователей
- Автор: Сергей Антропов (https://devops.org.ru)
This commit is contained in:
Сергей Антропов
2025-08-16 11:15:56 +03:00
commit c74e5ec15e
8 changed files with 1270 additions and 0 deletions

138
README.md Normal file
View File

@@ -0,0 +1,138 @@
# LogBoard+
**Автор:** Сергей Антропов
**Сайт:** https://devops.org.ru
LogBoard+ — это веб-панель для просмотра логов микросервисов из `docker-compose` в **реальном времени** с поддержкой:
- Вкладок по сервисам и репликам
- Темная/светлая темы
- Подсветка ANSI-цветов из логов
- Фильтрация по уровням (`debug`, `info`, `warn`, `error`)
- Снимки логов в файл (`snapshot`)
- Объединение всех реплик сервиса в одну вкладку (**aggregate**)
- Fan-in группировка нескольких сервисов в одну панель (**group**)
- Цветовые теги по короткому ID контейнера
- Sticky-фильтры по репликам
- Пауза/возобновление стрима
- Basic Auth для доступа
- Автопереподключение вебсокетов
- Поддержка нескольких клиентов одновременно
---
## Установка и запуск
### Быстрый старт с Makefile (рекомендуется)
```bash
# Распаковать проект
unzip logboard_plus_fanin_groups.zip
cd logboard_plus
# Показать доступные команды
make help
# Собрать и запустить проект
make build
make up
# Открыть в браузере
http://localhost:9001
```
### Команды Makefile
| Команда | Описание |
|---------|----------|
| `make help` | Показать справку по всем командам |
| `make build` | Собрать Docker образ |
| `make up` | Запустить сервисы в фоновом режиме |
| `make down` | Остановить и удалить сервисы |
| `make restart` | Перезапустить сервисы |
| `make logs` | Показать логи сервисов в реальном времени |
| `make logs-tail` | Показать последние 100 строк логов |
| `make status` | Показать статус сервисов |
| `make clean` | Остановить сервисы и удалить образы |
| `make shell` | Подключиться к контейнеру |
| `make dev` | Запуск в режиме разработки (с выводом логов) |
| `make rebuild` | Пересобрать и запустить сервисы |
### Классический способ
```bash
# Распаковать проект
unzip logboard_plus_fanin_groups.zip
cd logboard_plus
# Запуск через docker-compose
docker compose up --build -d
# Открыть в браузере
http://localhost:9001
```
По умолчанию логин/пароль для Basic Auth задаются в `docker-compose.yml`:
```yaml
environment:
- LB_USER=admin
- LB_PASS=admin
```
---
## Интерфейс
### Верхняя панель
- **Тема** — переключатель тёмной/светлой темы
- **aggregate** — собирает все реплики сервиса в одну вкладку
- **group** — собирает несколько сервисов в один поток логов
- **snapshot** — сохраняет текущие логи этой панели в файл
- **tail** — количество строк истории при подключении
### Панель вкладок
- Вкладки по сервисам и репликам
- Клик по вкладке — открыть поток логов
- Цветной чип `[id]` — уникальная реплика, цвет закреплён
- Чекбоксы под вкладками — фильтр по репликам
### Логи
- Цвета в логах из ANSI-кодов
- Фильтрация по уровню (`debug`, `info`, `warn`, `error`)
- Пауза/возобновление стрима
- При выделении текста появляется кнопка "Копировать"
---
## Fan-in группировка
Позволяет объединить несколько разных сервисов в один поток:
1. Нажмите кнопку **group** вверху
2. Введите имена сервисов через запятую (например: `api, worker, scheduler`)
3. Откроется панель с логами всех указанных сервисов, с префиксом `[id service]`
4. Можно фильтровать по конкретным репликам внизу
---
## Советы
- Если контейнер перезапустился — поток автоматически переподключается
- Можно открыть несколько вкладок браузера с разными сервисами — всё работает параллельно
- Для больших проектов удобно держать одну панель с `aggregate`, вторую — с `group` по критическим сервисам
---
## Лицензия
MIT
## Скриншоты
Тёмная тема:
![Dark](screenshots/dark.png)
Светлая тема:
![Light](screenshots/light.png)