- Исправлена неправильная структура try/except/finally блоков - Удален дублированный блок except WebSocketDisconnect после finally - Теперь приложение запускается без синтаксических ошибок - Автор: Сергей Антропов (https://devops.org.ru)
LogBoard+
Автор: Сергей Антропов
Сайт: https://devops.org.ru
LogBoard+ — это веб-панель для просмотра логов микросервисов из docker-compose
в реальном времени с поддержкой:
- Вкладок по сервисам и репликам
- Темная/светлая темы
- Подсветка ANSI-цветов из логов
- Фильтрация по уровням (
debug
,info
,warn
,error
) - Снимки логов в файл (
snapshot
) - Объединение всех реплик сервиса в одну вкладку (aggregate)
- Fan-in группировка нескольких сервисов в одну панель (group)
- Цветовые теги по короткому ID контейнера
- Sticky-фильтры по репликам
- Пауза/возобновление стрима
- Basic Auth для доступа
- Автопереподключение вебсокетов
- Поддержка нескольких клиентов одновременно
Установка и запуск
Быстрый старт с Makefile (рекомендуется)
# Распаковать проект
unzip logboard_plus_fanin_groups.zip
cd logboard_plus
# Показать доступные команды
make help
# Настроить переменные окружения
make setup
# Отредактировать .env файл под свои нужды (опционально)
# nano .env
# Собрать и запустить проект
make build
make up
# Открыть в браузере
http://localhost:9001
Команды Makefile
Команда | Описание |
---|---|
make help |
Показать справку по всем командам |
make setup |
Настроить переменные окружения (копировать env.example в .env) |
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 |
Пересобрать и запустить сервисы |
Настройка переменных окружения
Проект использует файл .env
для хранения всех настроек. Для настройки:
-
Автоматическая настройка:
make setup
-
Ручная настройка:
cp env.example .env nano .env # или любой другой редактор
Основные переменные окружения:
Переменная | Описание | Значение по умолчанию |
---|---|---|
LOGBOARD_PORT |
Порт веб-интерфейса | 9001 |
LOGBOARD_USER |
Имя пользователя для Basic Auth | admin |
LOGBOARD_PASS |
Пароль для Basic Auth | s3cret-change-me |
LOGBOARD_TAIL |
Количество строк истории | 500 |
LOGBOARD_SNAPSHOT_DIR |
Директория для снимков | /app/snapshots |
LOGBOARD_INDEX_HTML |
Путь к HTML шаблону | ./templates/index.html |
TZ_TS |
Временная зона для меток времени | (пусто) |
COMPOSE_PROJECT_NAME |
Фильтр по проекту Docker Compose | (пусто) |
SECRET_KEY |
Секретный ключ для шифрования | your-secret-key-here |
ENCRYPTION_KEY |
Ключ шифрования | your-encryption-key-here |
⚠️ Важно: Измените значения LOGBOARD_PASS
, SECRET_KEY
и ENCRYPTION_KEY
в продакшене!
Классический способ
# Распаковать проект
unzip logboard_plus_fanin_groups.zip
cd logboard_plus
# Настроить переменные окружения
cp env.example .env
# Отредактировать .env файл
# Запуск через docker-compose
docker compose up --build -d
# Открыть в браузере
http://localhost:9001
По умолчанию логин/пароль для Basic Auth задаются в docker-compose.yml
:
environment:
- LB_USER=admin
- LB_PASS=admin
Интерфейс
Верхняя панель
- Тема — переключатель тёмной/светлой темы
- aggregate — собирает все реплики сервиса в одну вкладку
- group — собирает несколько сервисов в один поток логов
- snapshot — сохраняет текущие логи этой панели в файл
- tail — количество строк истории при подключении
Панель вкладок
- Вкладки по сервисам и репликам
- Клик по вкладке — открыть поток логов
- Цветной чип
[id]
— уникальная реплика, цвет закреплён - Чекбоксы под вкладками — фильтр по репликам
Логи
- Цвета в логах из ANSI-кодов
- Фильтрация по уровню (
debug
,info
,warn
,error
) - Пауза/возобновление стрима
- При выделении текста появляется кнопка "Копировать"
Fan-in группировка
Позволяет объединить несколько разных сервисов в один поток:
- Нажмите кнопку group вверху
- Введите имена сервисов через запятую (например:
api, worker, scheduler
) - Откроется панель с логами всех указанных сервисов, с префиксом
[id service]
- Можно фильтровать по конкретным репликам внизу
Советы
- Если контейнер перезапустился — поток автоматически переподключается
- Можно открыть несколько вкладок браузера с разными сервисами — всё работает параллельно
- Для больших проектов удобно держать одну панель с
aggregate
, вторую — сgroup
по критическим сервисам
Лицензия
MIT
Скриншоты
Тёмная тема:
Светлая тема:
Description
LogBoard+ - это современная веб-панель для мониторинга и просмотра логов Docker контейнеров в реальном времени. Приложение идеально подходит для локальной разработки, позволяя разработчикам всегда держать логи микросервисов перед глазами на втором мониторе.
https://devops.org.ru
Languages
JavaScript
60.4%
Python
15.8%
CSS
15.6%
HTML
5.5%
Makefile
2.2%
Other
0.5%