Stack brief#
Get this stack| Service | Image | Role |
|---|---|---|
| grafana | grafana/grafana:13.1.0 | web UI and data source provisioning |
| redis | redis:8.8.0 | standalone data store, AOF persistence, and metrics target |
| loki | grafana/loki:3.7.3 | log storage |
| mimir | grafana/mimir:3.1.2 | metrics storage |
| alloy | grafana/alloy:v1.17.0 | collector, embedded exporter, and OTLP receiver |
| tempo | grafana/tempo:3.0.2 | application trace storage |
The main metrics path is Redis -> Alloy -> Mimir -> Grafana.
This stack runs one authenticated Redis container with append-only persistence enabled. Grafana reads Redis and node metrics from Mimir, so throughput, client pressure, memory, keyspace growth, latency, persistence, and host resources can be investigated from the same UI as logs and application traces.
Redis metrics flow#
Alloy runs one embedded Redis exporter component, connects it to redis:6379 with the configured password, labels the instance and member as redis, and remote-writes the samples to Mimir. In the same process, Alloy collects node metrics, forwards Docker logs to Loki, accepts OTLP telemetry, and sends application traces to Tempo.
Redis dashboard coverage#
The Redis dashboard is organized around operational questions: whether the instance is reachable, which commands dominate its workload, whether clients are blocked or rejected, how memory and keyspace behave, which commands are slow, whether persistence is healthy, what Redis logs report, and whether the host has enough resources.
Server Health and Availability
Covers instance status, uptime, Redis version and build information, restart detection, exporter scrape errors, and container-health signals.
Traffic, Commands, and Clients
Covers operations per second, command mix, connected and blocked clients, connection churn, rejected connections, network throughput, client buffers, and pub/sub activity.
Replication Monitoring
Shows an explicit standalone-topology note. Replica links, lag, offsets, synchronization, resync, and backlog panels are omitted because replication is not configured.
Memory, Keyspace, and Evictions
Covers used, resident, and peak memory, fragmentation, maxmemory, evictions, expirations, keyspace hits and misses, and key counts by logical database.
Command Performance
Covers command execution time, call and failure rates, rejected commands, latency percentiles, event-loop load, and the latest fork duration.
Slowlog and Latency Analytics
Covers slowlog growth, recent slow-command duration, latency by command, blocked operations, and log views for slow operations and latency events.
Persistence and Durability
Covers RDB save status and duration, unsaved changes, AOF enablement, rewrite status, AOF size, delayed fsyncs, and persistence risk.
Client, Connection, and Blocking Troubleshooting
Covers connected and blocked clients, timeout-table entries, output-buffer pressure, rejected connections, authentication denials, disconnects, pub/sub clients, and blocking keys.
Redis Log Analytics
Covers all Redis logs plus focused views for warnings and errors, authentication and ACL failures, persistence activity, startup, shutdown, and restart events.
System and Container Resource Usage
Covers host CPU, load, memory, network throughput, filesystem capacity, disk I/O, Redis resident memory, persistence-file growth, and Redis availability as a container-health proxy.
The dashboard uses stat, gauge, table, bar chart, pie chart, heatmap, logs, and time-series visualizations instead of forcing every metric into a line chart. Its standalone rendering replaces replica-only panels with a clear topology note rather than empty or fabricated replication data.
Logs and traces#
Alloy reads Docker container logs, adds project, service, container, and container_id labels, and forwards the streams to Loki. The dashboard uses those labels for Redis log views covering slow operations, latency, authentication, warnings, errors, and persistence activity.
For OTLP traffic, Alloy exposes gRPC on 4317 and HTTP on 4318. OTLP logs are converted for Loki, OTLP metrics are converted to Prometheus remote write for Mimir, and OTLP traces are batched and sent to Tempo. Tempo is reserved for application traces; the Redis dashboard does not depend on traces.
| Source | Destination |
|---|---|
| Docker container logs | Loki |
| OTLP logs on 4317/4318 | Loki |
| OTLP metrics on 4317/4318 | Mimir |
| OTLP traces on 4317/4318 | Tempo |
| Node exporter metrics | Mimir |
| Redis exporter metrics | Mimir |