Skip to main content
TL;DRMonitor Redis performance metrics in ClickStack using the OTel Redis receiver. Includes a demo dataset and pre-built dashboard.

Integration with existing Redis

This section covers configuring your existing Redis installation to send metrics to ClickStack by configuring the ClickStack OTel collector with the Redis receiver. If you would like to test the Redis Metrics integration before configuring your own existing setup, you can test with our preconfigured demo dataset in the following section.
  • ClickStack instance running
  • Existing Redis installation (version 3.0 or newer)
  • Network access from ClickStack to Redis (default port 6379)
  • Redis password if authentication is enabled
1

Verify Redis connection

First, verify you can connect to Redis and that the INFO command works:
If Redis requires authentication:
Common Redis endpoints:
  • Local installation: localhost:6379
  • Docker: Use container name or service name (e.g., redis:6379)
  • Remote: <redis-host>:6379
2

Create custom OTel collector configuration

ClickStack allows you to extend the base OpenTelemetry collector configuration by mounting a custom configuration file and setting an environment variable. The custom configuration is merged with the base configuration managed by HyperDX via OpAMP.Create a file named redis-metrics.yaml with the following configuration:
redis-metrics.yaml
This configuration:
  • Connects to Redis on localhost:6379 (adjust endpoint for your setup)
  • Collects metrics every 10 seconds
  • Collects key performance metrics (commands, clients, memory, keyspace stats)
  • Sets the required service.name resource attribute per OpenTelemetry semantic conventions
  • Routes metrics to the ClickHouse exporter via a dedicated pipeline
Key metrics collected:
  • redis.commands.processed - Commands processed per second
  • redis.clients.connected - Number of connected clients
  • redis.clients.blocked - Clients blocked on blocking calls
  • redis.memory.used - Memory used by Redis in bytes
  • redis.memory.peak - Peak memory usage
  • redis.keyspace.hits - Successful key lookups
  • redis.keyspace.misses - Failed key lookups (for cache hit rate calculation)
  • redis.keys.expired - Keys expired
  • redis.keys.evicted - Keys evicted due to memory pressure
  • redis.connections.received - Total connections received
  • redis.connections.rejected - Rejected connections
  • You only define new receivers, processors, and pipelines in the custom config
  • The memory_limiter and batch processors and clickhouse exporter are already defined in the base ClickStack configuration - you just reference them by name
  • The resource processor sets the required service.name attribute per OpenTelemetry semantic conventions
  • For production with authentication, store the password in an environment variable: ${env:REDIS_PASSWORD}
  • Adjust collection_interval based on your needs (10s default; lower values increase data volume)
  • For multiple Redis instances, customize service.name to distinguish them (e.g., "redis-cache", "redis-sessions")
3

Configure ClickStack to load custom configuration

To enable custom collector configuration in your existing ClickStack deployment, you must:
  1. Mount the custom config file at /etc/otelcol-contrib/custom.config.yaml
  2. Set the environment variable CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
  3. Ensure network connectivity between ClickStack and Redis
Update your ClickStack deployment configuration:
If using the all-in-one image with docker run:
Important: If Redis is running in another container, use Docker networking:
4

Verify metrics in HyperDX

Once configured, log into HyperDX and verify metrics are flowing:
  1. Navigate to the Metrics explorer
  2. Search for metrics starting with redis. (e.g., redis.commands.processed, redis.memory.used)
  3. You should see metric data points appearing at your configured collection interval

Demo dataset

For users who want to test the Redis Metrics integration before configuring their production systems, we provide a pre-generated dataset with realistic Redis Metrics patterns.
1

Download the sample metrics dataset

Download the pre-generated metrics files (24 hours of Redis Metrics with realistic patterns):
The dataset includes realistic patterns:
  • Cache warming event (06:00) - Hit rate climbs from 30% to 80%
  • Traffic spike (14:30-14:45) - 5x traffic surge with connection pressure
  • Memory pressure (20:00) - Key evictions and cache performance degradation
  • Daily traffic patterns - Business hours peaks, evening drops, random micro-spikes
2

Start ClickStack

Start a ClickStack instance:
Wait approximately 30 seconds for ClickStack to fully start.
3

Load metrics into ClickStack

Load the metrics directly into ClickHouse:
4

Verify metrics in HyperDX

Once loaded, the quickest way to see your metrics is through the pre-built dashboard.Proceed to the Dashboards and visualization section to import the dashboard and view all Redis Metrics at once.
The demo dataset time range is 2025-10-20 00:00:00 to 2025-10-21 05:00:00. Make sure your time range in HyperDX matches this window.Look for these interesting patterns:
  • 06:00 - Cache warming (low hit rate climbing)
  • 14:30-14:45 - Traffic spike (high client connections, some rejections)
  • 20:00 - Memory pressure (key evictions begin)

Dashboards and visualization

To help you get started monitoring Redis with ClickStack, we provide essential visualizations for Redis Metrics.
1

the dashboard configuration

2

Import the pre-built dashboard

  1. Open HyperDX and navigate to the Dashboards section
  2. Click Import Dashboard in the upper right corner under the ellipses
  1. Upload the redis-metrics-dashboard.json file and click Finish Import
3

View the dashboard

The dashboard will be created with all visualizations pre-configured:
For the demo dataset, set the time range to 2025-10-20 05:00:00 - 2025-10-21 05:00:00 (UTC) (adjust based on your local timezone). The imported dashboard won’t have a time range specified by default.

Troubleshooting

Custom config not loading

Verify the environment variable CUSTOM_OTELCOL_CONFIG_FILE is set correctly:
Check that the custom config file is mounted at /etc/otelcol-contrib/custom.config.yaml:
View the custom config content to verify it’s readable:

No metrics appearing in HyperDX

Verify Redis is accessible from the collector:
Check if the Redis INFO command works:
Verify the effective config includes your Redis receiver:
Check for errors in the collector logs:

Authentication errors

If you see authentication errors in the logs:
Update your configuration to use the password:

Network connectivity issues

If ClickStack can’t reach Redis:
Ensure your Docker Compose file or docker run commands place both containers on the same network.

Next steps

  • Set up alerts for critical metrics (memory usage thresholds, connection limits, cache hit rate drops)
  • Create additional dashboards for specific use cases (replication lag, persistence performance)
  • Monitor multiple Redis instances by duplicating the receiver configuration with different endpoints and service names

Going to production

This guide extends ClickStack’s built-in OpenTelemetry Collector for quick setup. For production deployments, we recommend running your own OTel Collector and sending data to ClickStack’s OTLP endpoint. See Sending OpenTelemetry data for production configuration.
Last modified on June 19, 2026