Documentation menu

Docs Connections: Redis

Redis checks

Every check Verbiqo can run on Redis 6 and later, Valkey and KeyDB (and Dragonfly from Verbiqo 0.1.26), grouped by area. You ask in plain words; the model says which areas the question needs, and Verbiqo runs those checks first. A failed snapshot, a broken replica link, memory at its limit or a cluster that cannot serve every slot is reported on any question.

How to read this page. Each section is one area. Why it helps says what you get from it. Ask is a question to type that runs it. The table under it lists what Verbiqo checks there: you do not run those one by one. When a check finds a problem, it appears under the answer as a finding, with its evidence and a suggested fix.

How to ask for each area

Ask in your own words. The model reads the question and says which areas it needs; Verbiqo runs those checks before the model reads anything itself. The words below are what Verbiqo goes by when the model cannot say.

AreaWords Verbiqo goes by without the modelAsk, for example
Right nowslow, latency, hanging, stuck, timeouts, busy, CPU, right now, currently, spike, blocked, evictingRedis is slow right now, why?
Memory, persistence, replication, cluster, clientsmemory, maxmemory, eviction, fragmentation, persistence, snapshot, RDB, AOF, backup, replica, replication, primary, cluster, slots, clients, connections, settings, config, keys, expiry, stability, healthIs the replica in sync?
Securitysecurity, secure, password, authentication, ACL, users, TLS, encryption, exposed, hardenIs this Redis secure?
Capacitycapacity, forecast, how long until, fill up, growth, sizing, headroom, planningWhen will Redis hit maxmemory?
What happenedwhat happened, timeline, incident, outage, yesterday, at 3pm, when did, root causeWhat happened in the last hour?
What Verbiqo can seewhat should I enable, readiness, permissions, ACLWhat should I enable?

A broad question, such as health check, runs the review and the security checks; the live sample runs when something is wrong now.

Right now

Why it helps: When Redis is slow now, it shows the slow commands, latency events and clients behind it.

Ask Redis is slow right now, why?

Verbiqo reads the server’s counters twice, 10 seconds apart (see sampling), then the slow log, latency events and clients.

CheckWhat it looks for
Main thread saturatedThe thread that runs commands 90% busy or more: every client waits in turn.
Connections refusedConnections turned away during the sample.
EvictingKeys evicted during the sample to stay under maxmemory.
Blocking commandKEYS, whole reads of large collections, scripts and the like in the last hour’s slow log, with the client. For KEYS, the SCAN to use instead.
Slow commandsThe slowest of the others.
Latency eventsForks, AOF writes, expiry and slow commands of 100 ms or more in the last hour.
Large output bufferA replica, subscriber or client with 32 MB or more waiting to be sent.

Memory, persistence, replication, cluster and clients

Why it helps: Checks memory, persistence, replication, cluster and clients together, so you hear about eviction, data loss or a broken replica before users do.

Ask Is the replica in sync?

Every review states two things outright, whether or not they are findings, because they are the answers most often guessed:

  • The role line. Role: primary with 2 replicas connected: 10.0.0.5:6379 online, in sync (lag 0 s); …, Role: primary with no replicas connected, or Role: replica of host:port, link up, last contact 1 s ago. Redis calls a server without a cluster standalone whether or not it has replicas; this line says which.
  • The restart line. What a restart now would lose: at most about a second of writes (AOF on, with its appendfsync), every write since the last snapshot, 40 min ago with the changes made since, or every key when neither snapshots nor AOF keep the data.
CheckWhat it looks for
Near maxmemory90% of maxmemory or more; critical with noeviction, where writes then fail.
No maxmemoryNo limit, so the operating system kills Redis when the machine runs out.
FragmentationMemory held but not used, with activedefrag to reclaim it.
SwappingPart of Redis in swap.
Hit ratio, expiry, forksFew lookups finding their key, expired keys piling up, forks of half a second or more.
Snapshot or AOF failedThe last BGSAVE or AOF write failed: writes may be refused.
Primary without persistenceA primary with replicas that saves nothing: a restart empties them all.
Replica link downA replica not connected to its primary.
Writable replicareplica-read-only no.
Replica behindA replica not online, or 10 seconds or more behind.
Backlog too smallReconnections that needed a full resync, with a larger repl-backlog-size.
Cluster downThe cluster state not ok, with failed nodes and primaries without a replica.
Clients near maxclients80% of the limit or more, and connections refused since start.
Idle clientsMost clients idle for over an hour, by host: a pool that never closes, or a leak.
Monitoring offLatency monitoring or the slow log off, TCP keepalive off.

Security

Why it helps: Shows open access, dangerous commands left enabled and missing TLS, so you close the gaps an audit would find.

Ask Is this Redis secure?

CheckWhat it looks for
No passwordA connection without signing in that the server answers (Verbiqo sends only PING on it), with the binding and protected mode.
DEBUG or MODULE enabledCommands that can crash the server or load code.
No TLSOnly unencrypted connections accepted.

Ready-made reports

A report is one fixed reading of one area: no question, no model, the same output every time. Use one to look at an area yourself, or to share what it shows.

From a terminal, it prints the report:

verbiqo redis run cache memory

In verbiqo chat, it loads the report into the conversation so you can ask about it. help lists the reports:

/redis cache memory
/redis cache help

In the desktop apps, there is no report command: ask in your own words, and Verbiqo reads what the question needs.

ReportShows
overviewVersion, role, uptime, clients, memory, keys and operations.
memoryUsed, peak, resident, the limit and eviction policy, fragmentation.
memory-doctorRedis’s own diagnosis of its memory.
statsOperations, hits and misses, evictions, expiries and refused connections since start.
clientsConnected clients, the largest buffers and longest idle first.
connectionsClients grouped by host, name and user.
slowlogThe slowest recent commands, values withheld.
latencyLatency events: the latest and worst of each.
latency-doctorRedis’s own diagnosis of its latency.
replicationRole, the primary link or each replica, offsets and backlog.
persistenceThe last snapshot and AOF rewrite, and changes not yet saved.
keyspaceKeys, keys with an expiry and average TTL per database.
commandstatsCommands by total time, with calls, time per call and failures.
errorstatsErrors the server replied with, by kind.
clusterCluster state, slots and every node.
settingsThe settings that most often matter, secrets withheld.

The monitoring user is in Set up Redis.

Something missing or unclear? Email hello@verbiqo.app.