Valkey 应得的监控层。
BetterDB 将 Valkey 丢弃的数据持久化保存——慢日志、命令模式、客户端活动、异常信号——让你能够调试凌晨 3 点发生的事情,而不仅仅是当下正在发生什么。专为 Valkey 8.x 打造,原生支持 COMMANDLOG、CLUSTER SLOT-STATS 以及每线程 I/O 指标。其余功能兼容 Redis 6+。
网站 | Docker Hub | npm | 文档 | 博客
BetterDB 由 BetterDB Inc. 构建,这是一家公益公司,依据 OCV Open Charter 运营。

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 上,请在docker run命令中 添加--add-host=host.docker.internal:host-gateway,以便该名称能够解析。 仪表板的一键“连接到本地实例”按钮会自动检测这一点,并为你预填正确的主机。
发布两个镜像变体,均为多架构(linux/amd64、linux/arm64):
| 标签 | 说明 |
|---|---|
latest、X.Y.Z-no-ai | 默认镜像——包含所有监控功能,但不包含实验性本地 LLM AI Helper 所需的依赖项 |
X.Y.Z | 增加实验性 AI Helper(自带 Ollama;默认通过 AI_ENABLED 禁用) |
有关持久化存储、自定义端口、许可和隔离网络环境设置,请参阅 Docker 生产部署。
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,或启用 chart 的 ingress。基于 PostgreSQL 的历史记录、自带 Secrets 以及离线环境授权均在 Kubernetes 指南 和 chart README 中有详细说明。
无需 Docker 即可运行 BetterDB Monitor:
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。
@betterdb/mcp 为 Claude Code、Cursor 或任何 MCP 客户端提供 60 个工具。betterdb_* 指标。参见 docs/prometheus-metrics.md。| 接口 | 详情 |
|---|---|
| Web UI | http://localhost:3001 |
| MCP 服务器 | npx @betterdb/mcp(stdio)- 在 Settings → MCP Tokens 下创建令牌(云端必需,自托管可选) |
| Prometheus | http://localhost:3001/api/prometheus/metrics |
| REST API (OpenAPI) | http://localhost:3001/docs |
| 健康检查 | http://localhost:3001/api/health |
注意:在生产构建(Docker、CLI)中,API 路由以
/api前缀提供服务。在本地开发(pnpm dev)中则没有前缀 - 例如http://localhost:3001/health。
| 数据库 | 最低版本 | 支持的功能 |
|---|---|---|
| Valkey | 8.0+ | 所有功能,包括 COMMANDLOG(8.1+)和 CLUSTER SLOT-STATS |
| Redis | 6+ | 除 Valkey 独有的 COMMANDLOG 和 CLUSTER SLOT-STATS 外的所有功能 |
后端在兼容线协议的 iovalkey 客户端之上使用统一适配器,并从 INFO 响应中自动检测 Valkey 与 Redis(DB_TYPE=auto)。COMMANDLOG 和 SLOT-STATS 等能力按版本检测,当功能不可用时 UI 会优雅降级。
托管服务同样支持 - AWS ElastiCache、MemoryDB、Redis Cloud 和 Upstash 的指南位于 docs/providers,而 @betterdb/agent 可通过出站 WebSocket 访问仅限 VPC 的实例。
Docker 镜像包含监控应用(后端 + 前端)。它需要:
docker run -d \
--name betterdb-monitor \
-p 3001:3001 \
-e DB_HOST=your-valkey-host \
-e DB_PORT=6379 \
-e DB_PASSWORD=your-password \
-e STORAGE_TYPE=postgres \
-e STORAGE_URL=postgresql://user:pass@postgres-host:5432/dbname \
betterdb/monitor
设置 PORT 环境变量并匹配 -p 映射:
docker run -d \
--name betterdb-monitor \
-p 8080:8080 \
-e PORT=8080 \
-e DB_HOST=your-valkey-host \
betterdb/monitor
如果你的 Valkey 和 PostgreSQL 运行在同一台主机上:
docker run -d \
--name betterdb-monitor \
--network host \
-e DB_HOST=localhost \
-e DB_PORT=6380 \
-e DB_PASSWORD=devpassword \
-e STORAGE_TYPE=postgres \
-e STORAGE_URL=postgresql://dev:devpass@localhost:5432/postgres \
betterdb/monitor