Sign inSign up

betterdb/monitor

By betterdb

•Updated about 16 hours ago

Persistent observability & monitoring for Valkey & Redis - keeps what Valkey throws away. AI, MCP.

Image
Developer tools
Databases & storage
Monitoring & observability
4

10K+

betterdb/monitor repository overview

⁠BetterDB Monitor

By BetterDB⁠ - The monitoring layer that Valkey deserves.

BetterDB persists what Valkey throws away - slowlogs, command patterns, client activity, anomaly signals - so you can debug what happened at 3am, not just what's happening now.

Built for Valkey 8.x with native support for COMMANDLOG, CLUSTER SLOT-STATS, and per-thread I/O metrics. Redis 6.0+ compatible for everything else. And because Valkey is fast becoming the backbone of AI infrastructure, BetterDB now watches that layer too: vector indexes, semantic caches, agent memory, and inference latency - correlated with the live database state underneath them.

Core monitoring is free forever (MIT). Pro and Enterprise add advanced detection, automation, and compliance - and are free during early access.

If you find BetterDB useful, star our repository⁠.

⁠Get Started in 30 Seconds

docker run -d --name betterdb -p 3001:3001 betterdb/monitor:latest

Point your browser to http://localhost:3001. That's it.

⁠Connect to Your Database

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

Standalone or cluster - Valkey vs Redis is auto-detected, and the UI adapts to what your server supports. Add more instances at runtime under Settings → Connections (multi-instance monitoring is Pro, free in early access).

⁠With Persistent Storage (PostgreSQL)

Persist your monitoring data across restarts for full historical analytics, anomaly baselines, MONITOR captures, and audit trail access.

docker run -d \
  --name betterdb \
  -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@localhost:5432/betterdb \
  betterdb/monitor:latest

⁠Choose Your Image

TagWhat it is
latest, X.Y.ZFull image, including the optional AI Helper - a local-LLM chat assistant with RAG over the Valkey docs (bring your own Ollama; disabled by default via AI_ENABLED=false)
latest-no-ai, X.Y.Z-no-aiSlim build without the local-LLM dependencies. Every monitoring feature is included - all AI-workload observability (vector search, caches, traces) works here too. Pick this for the smaller pull if you don't need the built-in assistant.

All images are multi-arch: linux/amd64 and linux/arm64.

⁠What You Get

⁠See everything, keep everything
  • Historical analytics - query slowlogs, command patterns, client activity, and latency across any time range. The data that used to disappear after a log rotation.
  • COMMANDLOG support - Valkey 8.1+ exclusive. Large requests and large replies, not just the slow ones.
  • MONITOR capture sessions - record real traffic on demand: live tail, filter, replay, export to JSON/CSV, and cross-reference against connection history. Pro adds anomaly-triggered captures, scheduled captures, and capture-vs-capture diff.
  • Hot key tracking - top-50 keys by access frequency with rank movement over time. Key Analytics (Pro, free in early access) adds type, TTL, and size distributions from live sampling.
  • Cluster visibility - topology graphs, SLOT-STATS heatmaps, per-slot CPU and key distribution.
  • CPU & I/O thread metrics - per-thread visibility that no Redis tool can provide.
  • Client analytics - see exactly which service is responsible for what. Cache-service, rate-limiter, api-server - attributed by client name and pattern.
  • ACL audit trail - track who accessed what, persisted for compliance and post-incident debugging.
⁠Understand and act
  • Anomaly detection (Pro, free in early access) - automatic baseline learning with correlated events and plain-English diagnoses. 20+ detectors: eviction storms, replication pressure, failover churn, config drift, fork-OOM risk, and more. No manual thresholds to configure.
  • Capacity forecasting - projected time-to-ceiling for memory, ops/sec, CPU, and fragmentation. Know you'll hit maxmemory before you hit it.
  • Webhooks - HMAC-signed alert deliveries with retries and a full delivery log. ~20 event types, from instance.down and latency.spike to acl.violation.
  • Live migration - move between Redis and Valkey with a three-phase analysis → execution → validation workflow. Analysis is free; execution is Pro (free in early access).
⁠Built for the AI era
  • Vector search observability - FT.SEARCH ops/sec and latency with per-index health: docs, records, indexing failures, backfill progress (valkey-search and RediSearch).
  • Inference latency - p50/p95/p99 per index, with SLA breach alerts (Pro, free in early access).
  • Semantic cache intelligence (Pro, free in early access) - hit-rate health, similarity-threshold recommendations, and an approve/reject proposal workflow for cache tuning. Agent memory observability included.
  • AI traces - OTLP span waterfalls from your AI application, correlated with the live Valkey state underneath each request.
⁠Plugs into everything
  • MCP server - 60 tools covering diagnostics, cluster, AI observability, and cache governance. Let Claude Code, Cursor, or any MCP client triage a latency spike for you.
  • Prometheus endpoint - 100+ betterdb_* metrics, straight into your existing stack.
  • OpenTelemetry - mirror metrics and events to any OTLP backend.
  • REST API - everything in the UI is an API call, documented via OpenAPI.

⁠Access Your Data Your Way

InterfaceDetails
Web UIhttp://localhost:3001
MCP servernpx @betterdb/mcp (stdio) - create a token under Settings → MCP Tokens
Prometheushttp://localhost:3001/api/prometheus/metrics
REST API (OpenAPI)http://localhost:3001/docs
OTLP exportset OTEL_EXPORTER_OTLP_ENDPOINT
Health checkhttp://localhost:3001/api/health

⁠Configuration

⁠Database Connection
VariablePurposeDefault
DB_HOSTValkey/Redis hostlocalhost
DB_PORTValkey/Redis port6379
DB_USERNAMEACL usernamedefault
DB_PASSWORDAuthentication passwordNone
DB_TYPEDatabase type: auto, valkey, or redisauto
⁠Storage Backend
VariablePurposeDefault
STORAGE_TYPEmemory or postgresmemory
STORAGE_URLPostgreSQL connection stringNone

Note: Docker production images do not include SQLite - that backend is for local development via the CLI⁠.

⁠Licensing & Telemetry
VariablePurposeDefault
BETTERDB_LICENSE_KEYOnline license key (Pro/Enterprise - Community needs none)None
BETTERDB_OFFLINE_LICENSE_FILEPath to a signed offline license token for air-gapped hostsNone
BETTERDB_OFFLINE_LICENSEOffline license token as an inline stringNone
BETTERDB_DATA_DIRPersisted license state - mount a writable volume/app/data
BETTERDB_TELEMETRYSet false to disable anonymous telemetrytrue

Air-gapped? Offline license tokens are signed JWTs verified locally against keys embedded in the image. With an offline token and no online key, the monitor makes zero outbound requests - no license pings, no telemetry, no update checks.

⁠Other Settings
VariablePurposeDefault
PORTHTTP port3001
NODE_ENVNode environmentproduction
ENCRYPTION_KEYEncrypts stored connection credentials (16+ chars, recommended)None
ANOMALY_DETECTION_ENABLEDToggle anomaly detectiontrue
AUDIT_POLL_INTERVAL_MSACL audit polling interval60000
ANOMALY_POLL_INTERVAL_MSAnomaly detection polling interval1000
CLIENT_ANALYTICS_POLL_INTERVAL_MSClient analytics polling interval60000
AI_ENABLEDEnable the local-LLM AI Helper (full image only, requires Ollama)false
OLLAMA_BASE_URLOllama server for the AI Helperhttp://localhost:11434

Full reference, including OTLP export, webhook tuning, and health-gate thresholds: docs.betterdb.com/configuration⁠.

⁠Supported Databases

DatabaseVersionCoverage
Valkey8.0+Everything, including COMMANDLOG (8.1+) and CLUSTER SLOT-STATS
Redis6.0+Everything except the Valkey-exclusive commands above

Managed services work too - guides for AWS ElastiCache, MemoryDB, Redis Cloud, and Upstash are in the docs, and @betterdb/agent⁠ reaches VPC-only instances over an outbound WebSocket.

⁠Resources

⁠License

Community features are open source under MIT and free forever. Pro and Enterprise features (anomaly detection, key analytics, migration execution, inference SLA alerts, SSO/RBAC, compliance export) are free during early access; they will require a commercial license later - see betterdb.com/pricing⁠.

Tag summary

Content type

Image

Digest

sha256:e9fa35c61…

Size

287.1 MB

Last updated

about 16 hours ago

docker pull betterdb/monitor