
monitor semantic-cache-v0.12.0
Мониторинг в реальном времени и анализ медленных запросов (slowlog) для баз данных Valkey и Redis с обнаружением аномалий, аудитом ACL и экспортом метрик в Prometheus.
BetterDB Monitor
Слой мониторинга, которого заслуживает Valkey.
BetterDB сохраняет то, что Valkey выбрасывает — slowlog, шаблоны команд, активность клиентов, сигналы аномалий — чтобы вы могли разобраться, что произошло в 3 часа ночи, а не только в том, что происходит сейчас. Создан для Valkey 8.x с нативной поддержкой COMMANDLOG, CLUSTER SLOT-STATS и метрик ввода-вывода по потокам. Совместим с Redis 6+ для всего остального.
Сайт | Docker Hub | npm | Документация | Блог
BetterDB разработан компанией BetterDB Inc. — публично-полезной компанией, действующей в соответствии с OCV Open Charter.

Быстрый старт (Docker)
docker run -d --name betterdb -p 3001:3001 betterdb/monitor:latest
Откройте в браузере http://localhost:3001. Для мониторинга конкретного экземпляра:
docker run -d \
--name betterdb \
-p 3001:3001 \
-e DB_HOST=your-valkey-host \
-e DB_PORT=6379 \
-e DB_PASSWORD=your-password \
betterdb/monitor:latest
Подключаетесь к базе данных на вашей хост-машине? Внутри контейнера
localhost— это сам контейнер, а не ваш хост, поэтому используйтеhost.docker.internalв качестве хоста базы данных. В Docker Desktop (macOS/Windows) это работает из коробки; в Linux добавьте--add-host=host.docker.internal:host-gatewayв командуdocker run, чтобы это имя разрешалось. Кнопка «подключиться к локальному экземпляру» в один клик на панели управления автоматически определяет это и подставляет нужный хост за вас.
Публикуются два варианта образа, оба мультиархитектурные (linux/amd64, linux/arm64):
| Тег | Что это |
|---|---|
latest, X.Y.Z-no-ai | Образ по умолчанию — включены все функции мониторинга, без зависимостей для экспериментального локального LLM AI Helper |
X.Y.Z | Добавляет экспериментальный AI Helper (используйте собственный Ollama; отключён по умолчанию через AI_ENABLED) |
См. Docker Production Deployment для постоянного хранилища, пользовательских портов, лицензирования и изолированных установок.
Быстрый старт (Kubernetes / Helm)
helm repo add betterdb https://docs.betterdb.com/charts
helm repo update
helm install betterdb-monitor betterdb/betterdb-monitor \
--namespace betterdb --create-namespace \
--set db.host=my-valkey.default.svc.cluster.local \
--set db.password=yourpassword
Затем выполните kubectl port-forward -n betterdb svc/betterdb-monitor 3001:3001 и откройте http://localhost:3001 или включите ingress в чарте. История на базе PostgreSQL, использование собственных Secrets и лицензирование в изолированных средах описаны в руководстве по Kubernetes и README чарта.
Быстрый старт (CLI)
Запустите BetterDB Monitor без Docker:
npx @betterdb/monitor
При первом запуске интерактивный мастер настройки проведёт вас через подключение к базе данных, выбор хранилища (SQLite, PostgreSQL или в памяти) и настройку сервера. Конфигурация сохраняется в ~/.betterdb/config.json.
npm install -g @betterdb/monitor # global install
betterdb --setup # re-run setup wizard
betterdb --port 8080 # override server port
betterdb --db-host 1.2.3.4 # override database host
betterdb --help # all options
Требуется Node.js >= 20.0.0 и экземпляр Valkey или Redis для мониторинга. Для хранения в SQLite также выполните npm install -g better-sqlite3.
Что вы получаете
Видеть всё, сохранять всё
- Историческая аналитика — запрашивайте slowlog, шаблоны команд, активность клиентов и задержки за любой период времени. Данные, которые раньше исчезали после ротации логов.
- Поддержка COMMANDLOG — эксклюзивно для Valkey 8.1+. Крупные запросы и крупные ответы, а не только медленные.
- Сессии захвата MONITOR — запись реального трафика по требованию: живой просмотр, фильтрация, воспроизведение, экспорт в JSON/CSV и сопоставление с историей подключений.
- Отслеживание горячих ключей — топ ключей по частоте обращений с изменением позиции во времени. Key Analytics (Pro, бесплатно в раннем доступе) добавляет распределения по типу, TTL и размеру на основе живой выборки.
- Видимость кластера — графы топологии, тепловые карты SLOT-STATS, CPU и распределение ключей по слотам.
- Авторегистрация кластера — подключение к кластеру может автоматически регистрировать каждый узел как отдельное отслеживаемое подключение, синхронизируясь по мере масштабирования кластера. См. docs/cluster-auto-registration.md.
- Метрики потоков CPU и I/O — видимость по каждому потоку, которую не может предоставить ни один инструмент Redis.
- Аналитика клиентов — точно видно, какой сервис за что отвечает, с атрибуцией по имени и шаблону клиента.
- Журнал аудита ACL — отслеживание того, кто к чему обращался, с сохранением для соответствия требованиям и отладки после инцидентов.
Понимать и действовать
- Обнаружение аномалий (Pro, бесплатно в раннем доступе) — автоматическое изучение базовой линии с коррелированными событиями и понятными диагнозами. Более 20 детекторов, без ручных порогов.
- Прогнозирование ёмкости — прогнозируемое время до достижения предела для памяти, операций/сек, CPU и фрагментации.
- Вебхуки — доставка оповещений с подписью HMAC, с повторными попытками и полным журналом доставки.
- Живая миграция — переключение между Redis и Valkey, самостоятельно размещёнными или управляемыми (ElastiCache на основе узлов или Serverless, MemoryDB, Redis Cloud, Upstash), standalone или кластер (источник-кластер требует целевого кластера). Трёхфазный рабочий процесс анализа, выполнения и валидации с непрерывной репликацией на основе PSYNC для переключений с почти нулевым простоем, когда источник допускает команды репликации. Другие RESP-совместимые движки, такие как KeyDB и Dragonfly, работают в режимах, перечисленных в таблице движков; они не входят в набор тестов. См. docs/migration.md.