How-to · OpenTelemetry

How to Monitor Redis with OpenTelemetry

Monitoring Redis with OpenTelemetry means collecting metrics through the OpenTelemetry Collector's Redis receiver over OTLP, so cache and data-structure health is visible next to your services..

Monitoring Redis with OpenTelemetry means collecting metrics through the OpenTelemetry Collector's Redis receiver over OTLP, so cache and data-structure health is visible next to your services.

What to observe in Redis

Redis usually sits on the hot path, so its signals are latency-sensitive: commands per second and command latency, memory usage against maxmemory, eviction and expiration rates, the cache hit ratio, connected clients, and replication and persistence health. A falling hit ratio or rising evictions feed straight through to the latency of every service that depends on the cache.

The single most important reading is memory against maxmemory together with the eviction rate, because once Redis reaches maxmemory it starts evicting keys, and evictions are the usual precursor to a cache-driven latency and error spike.

How OpenTelemetry collects it

The Collector's redis receiver connects to Redis and reads the INFO output, emitting memory, command, keyspace-hit-and-miss, client and replication metrics over OTLP. Application spans that wrap Redis calls tie cache behaviour to request latency, so a slow request that is really a slow or missed cache lookup is visible.

The access detail is authentication: if Redis requires a password, the receiver needs it, and on a cluster you point it at the nodes you want to observe.

Receiver metric names follow the redis receiver's conventions and can vary by Collector version; confirm against your build.

Key metrics to watch

The signals that explain most Redis incidents:

SignalSourceWhat it tells you / watch for
redis.memory.usedredis receiverMemory in use; compared to maxmemory, how close Redis is to evicting.
redis.keyspace.hits / redis.keyspace.missesredis receiverThe two numbers behind the cache hit ratio; a falling ratio degrades every dependent service.
evicted keysredis receiverKeys evicted because memory hit maxmemory; the precursor to cache-driven latency.
redis.commands.processedredis receiverCommand throughput; a sudden drop can mean Redis is blocked.
redis.clients.connectedredis receiverConnected clients; saturation or churn indicates a client-side problem.
replication offset / link statusredis receiverReplication health; a broken or lagging replica risks data loss on failover.

What to put on a dashboard

A Redis dashboard should keep memory and hit ratio front and centre. Row one: memory used against maxmemory and the eviction rate (the two that predict trouble). Row two: cache hit ratio computed from hits and misses, and command latency. Row three: connected clients and replication health.

# memory headroom (near maxmemory = evictions imminent)
redis.memory.used / redis_maxmemory

# cache hit ratio (a falling ratio hurts every dependent service)
redis.keyspace.hits / (redis.keyspace.hits + redis.keyspace.misses)

# eviction rate: keys pushed out because memory is full
rate(redis_evicted_keys[5m])

Reading the signals: common failure modes

Memory pressure and evictions

Latency and misses rise across dependent services because Redis reached maxmemory and is evicting keys to make room. Memory at maxmemory with a rising eviction rate is the signature. Size memory to the working set, tune the eviction policy, or shard; simply restarting clears it only temporarily.

Cache hit ratio dropping

Downstream services slow down because a larger share of lookups miss and fall through to the database. The hit ratio computed from hits and misses falls. Causes include evictions, too-short TTLs, or a cold cache after a restart or deploy.

Blocked or slow Redis

Command throughput drops and latency spikes because a slow command (a large KEYS scan, a big operation) or persistence activity is blocking the single-threaded server. Find the slow command; avoid O(n) commands on large keyspaces on the hot path.

Example alert conditions

Starting thresholds to tune:

ConditionSignalMeaning
memory used / maxmemory > 0.9 for 5mmemoryEvictions imminent.
eviction rate > 0 sustainedmemoryWorking set exceeds memory.
hit ratio < normal baseline for 15mcacheMore lookups falling through to the database.
replication link downreplicationFailover would risk data loss.

From monitoring to autonomous resolution

Ops Singularity's TelemetryOps ingests Redis telemetry over OpenTelemetry, and Sentinel AI resolves cache incidents, memory pressure, evictions, replication issues, through governed Action Tickets. Explore TelemetryOps.

Frequently asked questions

How do I monitor Redis with OpenTelemetry?

Use the OpenTelemetry Collector's redis receiver to collect memory, command, keyspace and replication metrics, exported over OTLP, correlated with application spans.

What Redis metrics matter most?

Memory usage against maxmemory, eviction and expiration rates, cache hit ratio, command latency, connected clients, and replication health.

See autonomous operations on your own stack.

Bring a real incident. We will show you Sentinel investigate, act and verify end to end, with every action reversible and audited.

Request a Demo → See TelemetryOps