BetterDB

Monitor, Debug & Audit Your Valkey

Persistent observability for Valkey — debug incidents yourself or with your agent, hours after they happen, or be proactively notified via webhooks before they start. Redis-compatible.

No performance impactProduction-safe monitoringAgent-ready

Or self-host:

claude mcp add betterdb -- \
  npx @betterdb/mcp betterdb-mcp \
  --autostart --persist

Adds BetterDB as an MCP server to Claude Code. Starts monitoring automatically.

Then ask Claude about your database health, slow queries, or memory usage.

See what's actually happening inside your Valkey instance

Historical data that survives a log rotation. Client-level attribution. Automatic anomaly detection.

BetterDB Slowlog pattern analysis showing pattern distribution, command breakdown and key prefix breakdown with historical date range filter

500 slow queries, 114 unique patterns, 19 command types — across any historical time range. The evidence that used to disappear after a log rotation.

Built for humans and agents alike

Investigate incidents yourself — or point your agent at BetterDB and walk away.

For agents

Your agent investigates

Connect BetterDB's MCP server to Claude Code, Cursor, or any MCP-compatible client. Ask questions in plain language. Get back structured diagnostics — slowlog history, anomaly summaries, latency trends, ACL audit — without opening a browser.

{
  "mcpServers": {
    "betterdb": {
      "command": "npx",
      "args": ["-y", "@betterdb/mcp"]
    }
  }
}
For humans

You investigate

Full dashboard, slowlog pattern analysis, anomaly detection, client attribution, and vector search — everything you need to find what went wrong and why, with data that persists beyond the log rotation.

BetterDB dashboard — memory, CPU, ops timeline, slowlog markers, and anomaly flags
Get Started for Free →

Everything you need to understand your Valkey instance

Deep insights into your Valkey deployment with minimal overhead.

COMMANDLOG Support

Valkey 8.1+ exclusive. See every command executed, not just slow ones.

Anomaly Detection

Automatic detection of unusual patterns across memory, CPU, and connections.

Historical Analytics

Query what happened at 3am, not just what's happening now.

Cluster Visualization

Interactive topology graphs, slot heatmaps, and migration tracking.

ACL Audit Trail

Track who accessed what for compliance and debugging.

Slowlog Patterns

See that GET user:* is 80% of your slow queries.

Key Analytics

Analyze key patterns by namespace and key type.

Client Analytics

See which clients consume resources. Detect unusual buffer sizes and connection spikes.

Prometheus & Webhooks

101 Prometheus metrics plus Slack, email, and webhook notifications.

AI Assistant

Ask questions about your Valkey instance in plain English.

Vector Search

Inspect vector indexes, browse embeddings, and find semantically similar entries with similarity scores.

MCP Server

Access BetterDB's full functionality from any MCP-compatible client — Claude Code, CLI agents, or IDEs.

View on registry →

Hot Key Tracking

Top-50 keys by access frequency with rank movement over time. Spot what's climbing before it becomes a bottleneck.

Latency Monitoring

Per-event latency history across P50/P95/P99. Know when your instance started slowing down, not just that it is.

CPU & I/O Threads

Per-thread I/O metrics and CPU utilization charts. Valkey-specific visibility no Redis tool can provide.

New

Semantic caching — the only one built for Valkey

@betterdb/semantic-cache drops into any LLM app and cuts API costs by serving semantically similar responses from Valkey. No framework lock-in. And because it runs on the same Valkey instance you're already monitoring, BetterDB surfaces hit rate, similarity scores, and cost savings automatically.

Valkey-native

Handles valkey-search API differences explicitly. Works on ElastiCache, Memorystore, or self-hosted. Not a Redis port.

Standalone

Any LLM client — OpenAI, Anthropic, local model. No LangChain, no LiteLLM required.

Full observability

Every check() and store() emits OTel spans and Prometheus metrics. Hit rate, similarity scores, latency — zero extra instrumentation.

Every other library makes you pick two.

LibraryValkey-nativeStandaloneBuilt-in OTel + Prometheus
@betterdb/semantic-cache
RedisVL SemanticCache❌ Redis only
LangChain RedisSemanticCache❌ Redis only❌ Requires LangChain
LiteLLM redis-semantic❌ Redis only❌ Requires LiteLLM❌ Partial
Upstash semantic-cache❌ Upstash only
Redis LangCache❌ Redis Cloud only❌ Managed only✅ Dashboard only
import Valkey from 'iovalkey';
import { SemanticCache } from '@betterdb/semantic-cache';

const cache = new SemanticCache({
  client: new Valkey({ host: 'localhost', port: 6399 }),
  embedFn: yourEmbedFn, // OpenAI, Voyage, Cohere, local — anything
});

await cache.initialize();
await cache.store('What is the capital of France?', 'Paris');

const result = await cache.check('Capital city of France?');
// result.hit === true — LLM call skipped

Our goal: zero Valkey hacks

If you've ever written a custom script, stitched together three tools, or just accepted that something wasn't observable - we want to hear about it. Tell us what's missing. We'll build it, and the next person won't have to figure it out themselves.

Book 15 min with Kristiyan

Prefer email? kristiyan@betterdb.com

Launch SpecialUse license key beta for full Pro features

Ready to get started?

Start monitoring in minutes — no infrastructure to maintain. Team collaboration, agent-based monitoring for private databases, and more. Or self-host — open source core, zero lock-in.