- Создан Makefile с командами для сборки, запуска, остановки, перезапуска и просмотра логов - Добавлены команды: build, up, down, restart, logs, clean, status, shell, dev, rebuild - Обновлен README.md с информацией об авторе и инструкциями по использованию Makefile - Добавлена таблица команд Makefile для удобства пользователей - Автор: Сергей Антропов (https://devops.org.ru)
139 lines
5.3 KiB
Markdown
139 lines
5.3 KiB
Markdown
|
||
# 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
|
||
|
||
|
||
## Скриншоты
|
||
|
||
Тёмная тема:
|
||
|
||

|
||
|
||
Светлая тема:
|
||
|
||

|