Monitor Redis with OpenTelemetry
Osuite monitors Redis through the OpenTelemetry Collector’s redis receiver, which runs the INFO command against a single instance and exports the results as metrics over OTLP. Keyspace hit ratios, memory pressure, and client counts arrive with the same resource attributes as your services, so a latency spike in APM correlates with the cache behind it.
Prerequisites
Section titled “Prerequisites”- A reachable Redis server (3.0 or later).
- If the server sets
requirepassor uses ACLs, a password (or a read-only ACL user permitted to runINFO).
Export the password to the Collector’s environment if one is required:
export REDIS_PASSWORD='a-strong-password'Configure the Collector
Section titled “Configure the Collector”-
Add the
redisreceiver, theotlp/osuiteexporter, and a metrics pipeline. Pick the tab that matches where your Collector runs — only the receiverendpointchanges.receivers:redis:endpoint: localhost:6379password: ${env:REDIS_PASSWORD}collection_interval: 30sprocessors:batch:resourcedetection:exporters:otlp/osuite:endpoint: ingest.<region>.osuite.io:443headers:x-osuite-ingest-token: <your-ingest-token>service:pipelines:metrics:receivers: [redis]processors: [batch, resourcedetection]exporters: [otlp/osuite]receivers:redis:endpoint: redis:6379password: ${env:REDIS_PASSWORD}collection_interval: 30sprocessors:batch:resourcedetection:exporters:otlp/osuite:endpoint: ingest.<region>.osuite.io:443headers:x-osuite-ingest-token: <your-ingest-token>service:pipelines:metrics:receivers: [redis]processors: [batch, resourcedetection]exporters: [otlp/osuite]receivers:redis:endpoint: redis.default.svc.cluster.local:6379password: ${env:REDIS_PASSWORD}collection_interval: 30sprocessors:batch:resourcedetection:exporters:otlp/osuite:endpoint: ingest.<region>.osuite.io:443headers:x-osuite-ingest-token: <your-ingest-token>service:pipelines:metrics:receivers: [redis]processors: [batch, resourcedetection]exporters: [otlp/osuite] -
Start the Collector. On Docker and Kubernetes, the Collector and Redis must share a network so the
endpointresolves.
Validate
Section titled “Validate”What you should see
Metrics named redis.* appear in Dashboards → Explore metrics within a minute, tagged with the host or pod the Collector runs on.
Data collected
Section titled “Data collected”| Metric | Description | Unit |
|---|---|---|
redis.clients.connected | Client connections, excluding replicas | {client} |
redis.clients.blocked | Clients pending on a blocking call | {client} |
redis.commands | Commands processed per second | {ops}/s |
redis.commands.processed | Total commands processed since start | {command} |
redis.connections.received | Connections accepted by the server | {connection} |
redis.keyspace.hits | Successful key lookups | {hit} |
redis.keyspace.misses | Failed key lookups | {miss} |
redis.memory.used | Memory allocated by Redis | By |
redis.db.keys | Keys per keyspace | {key} |
redis.cpu.time | CPU consumed since server start | s |
Enable replication, RDB persistence, and network-throughput metrics with the receiver’s optional metric toggles when you need them.
Dashboards and alerts
Section titled “Dashboards and alerts”Once metrics arrive, build a Redis dashboard in the dashboard builder from the series above. Alerts in Osuite are PromQL-based — see Alerts. Useful starting conditions: a low hit ratio (redis.keyspace.hits versus redis.keyspace.misses), redis.memory.used nearing maxmemory, and a rising redis.clients.blocked count.
Troubleshooting
Section titled “Troubleshooting”- NOAUTH / WRONGPASS — confirm
REDIS_PASSWORDmatches the server’srequirepassor ACL user. - No metrics — confirm the Collector can reach the port and that the instance answers
INFO(some managed Redis services restrict it).
No data in Osuite after a few minutes? Work through these checks.
- Endpoint — confirm the exporter targets exactly
ingest.<region>.osuite.io:443for your region, over TLS. - Token — confirm the ingest header carries a valid
<your-ingest-token>and has not been rotated. - Pipeline — confirm the signal you expect (traces, logs, or metrics) is wired into an active pipeline with the
otlp/osuiteexporter attached. - Export errors — check the application or Collector logs for OTLP export failures (auth, DNS, TLS, connection refused).
- Network — confirm the host has outbound access to the ingest endpoint on port
443. - Timing — allow up to a minute for the first data to appear before assuming a failure.
Still stuck? Ask the Investigation Agent or contact support.