How to Monitor Redis with Prometheus, Grafana, and Redis Exporter

Redis is widely used as an in-memory data store, cache, and message broker for high-performance applications. Because Redis often sits on the critical path of application performance, even small issues like memory saturation, slow commands, or connection spikes can lead to serious outages.

In this blog, you’ll learn how to monitor Redis using Redis Exporter, Prometheus, and Grafana, starting from setup and ending with real-time dashboards and actionable insights.

What Are Redis Exporter, Prometheus, and Grafana?

Redis

Redis is an open-source, in-memory data structure store used for caching, session storage, queues, and real-time analytics.

Prometheus

Prometheus is a metrics-based monitoring and alerting system that scrapes data from exporters and stores it as time-series data.

Grafana

Grafana provides visual dashboards, analytics, and alerting for metrics collected by Prometheus.

Redis Exporter

Redis Exporter exposes Redis internal metrics (memory usage, commands, connections, latency) in Prometheus format.

Why Monitor Redis with Prometheus and Grafana?

✔ Detect memory exhaustion early
✔ Monitor cache hit & miss ratio
✔ Track connected clients
✔ Identify slow commands
✔ Improve Redis performance and reliability

Redis Monitoring Architecture

https://redis.io/docs/latest/images/rdi/monitoring-diagram.png
Data Flow
Redis → Redis Exporter → Prometheus → Grafana
System Requirements
ComponentRequirement
OSRHEL 8/9 or Ubuntu
Redis6.x / 7.x
RAMMinimum 2 GB
Ports9121, 9090, 3000
AccessRedis AUTH (if enabled)
Step 1: Prepare Redis for Monitoring

Check Redis status:

redis-cli ping

If authentication is enabled:

redis-cli -a StrongPassword ping
Step 2: Install Redis Exporter
cd /opt
sudo wget https://github.com/oliver006/redis_exporter/releases/download/v1.58.0/redis_exporter-v1.58.0.linux-amd64.tar.gz

Extract:

sudo tar -xvf redis_exporter-v1.58.0.linux-amd64.tar.gz
sudo mv redis_exporter-v1.58.0.linux-amd64 redis_exporter
Create Redis Exporter Service
sudo nano /etc/systemd/system/redis_exporter.service
[Unit]
Description=Redis Exporter
After=network.target

[Service]
User=root
ExecStart=/opt/redis_exporter/redis_exporter \
  --redis.addr=redis://localhost:6379 \
  --redis.password=StrongPassword

[Install]
WantedBy=multi-user.target

Remove --redis.password if Redis auth is disabled.

Start exporter:

sudo systemctl daemon-reload
sudo systemctl enable redis_exporter
sudo systemctl start redis_exporter

Verify:

curl http://localhost:9121/metrics
Step 3: Configure Prometheus to Scrape Redis Metrics

Edit Prometheus config:

sudo nano /opt/prometheus/prometheus.yml

Add:

  - job_name: "redis"
    static_configs:
      - targets: ["localhost:9121"]

Restart Prometheus:

sudo systemctl restart prometheus

Verify target:

http://<server-ip>:9090/targets
Step 4: Install and Access Grafana
sudo dnf install -y https://dl.grafana.com/oss/release/grafana-10.2.3-1.x86_64.rpm

Start Grafana:

sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Access:

http://<server-ip>:3000
Step 5: Add Prometheus Data Source in Grafana
https://www.stackhero.io/locales/documentations/grafana/020_prometheus/grafanaPrometheusDataSourceConfigurationScrapeInterval.png

Steps:

  1. Grafana → ⚙ Settings → Data Sources
  2. Add Prometheus
  3. URL: http://localhost:9090
  4. Save & Test

Step 6: Import Redis Grafana Dashboard

https://raw.githubusercontent.com/RedisGrafana/grafana-redis-datasource/master/src/img/redis-dashboard.png

Recommended dashboard:

Dashboard ID: 11835

Steps:

  1. Grafana → Dashboards → Import
  2. Enter 11835
  3. Select Prometheus → Import
Key Redis Metrics You Can Monitor

✔ Used memory & memory fragmentation
✔ Connected clients
✔ Commands processed per second
✔ Cache hit & miss ratio
✔ Key eviction rate
✔ Redis uptime & role (master/replica)

Production Best Practices

✔ Set alerts for memory usage > 80%
✔ Monitor cache hit ratio continuously
✔ Secure Redis exporter endpoint
✔ Monitor Redis replication separately
✔ Use retention policies in Prometheus

Common Issues and Fixes
IssueSolution
No Redis data in GrafanaCheck Prometheus target
Exporter auth errorVerify Redis password
Dashboard emptySelect correct datasource
High memory alertsTune maxmemory
Redis Monitoring with Grafana vs Redis Native Tools
FeaturePrometheus + Grafanaredis-cli
VisualizationAdvancedCLI only
AlertsYesNo
Historical metricsYesNo
ScalabilityHighLow
Conclusion

Monitoring Redis with Redis Exporter, Prometheus, and Grafana provides deep visibility into memory usage, performance, and reliability. This setup enables DevOps teams to prevent outages, optimize cache efficiency, and maintain high-performance Redis deployments.