Monitoring Redis Logs with ClickStack
This guide shows you how to monitor Redis with ClickStack by configuring the OpenTelemetry collector to ingest Redis server logs. You'll learn how to:
- Configure the OTel collector to parse Redis log format
- Deploy ClickStack with your custom configuration
- Use a pre-built dashboard to visualize Redis metrics (connections, commands, memory, errors)
Time Required: 5-10 minutes
Integration with existing Redis
This section covers configuring your existing Redis installation to send logs to ClickStack by modifying the ClickStack OTel collector configuration. If you would like to test the Redis integration before configuring your own existing setup, you can test with our preconfigured setup and sample data in the following section.
Prerequisites
- ClickStack instance running
- Existing Redis installation (version 3.0 or newer)
- Access to Redis log files
Verify Redis logging configuration
First, check your Redis logging configuration. Connect to Redis and check the log file location:
Common Redis log locations:
- Linux (apt/yum):
/var/log/redis/redis-server.log - macOS (Homebrew):
/usr/local/var/log/redis.log - Docker: Often logged to stdout, but can be configured to write to
/data/redis.log
If Redis is logging to stdout, configure it to write to a file by updating redis.conf:
After changing the configuration, restart Redis:
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-monitoring.yaml with the following configuration:
This configuration:
- Reads Redis logs from their standard location
- Parses Redis's log format using regex to extract structured fields (pid, role, timestamp, log_level, message)
- Adds
source: redisattribute for filtering in HyperDX - Routes logs to the ClickHouse exporter via a dedicated pipeline
- You only define new receivers and pipelines in the custom config
- The processors (memory_limiter, transform, batch) and exporters (clickhouse) are already defined in the base ClickStack configuration - you just reference them by name
- The time_parser operator extracts timestamps from Redis logs to preserve original log timing
- This configuration uses
start_at: beginningto read all existing logs when the collector starts, allowing you to see logs immediately. For production deployments where you want to avoid re-ingesting logs on collector restarts, change tostart_at: end.
Configure ClickStack to load custom configuration
To enable custom collector configuration in your existing ClickStack deployment, you must:
- Mount the custom config file at
/etc/otelcol-contrib/custom.config.yaml - Set the environment variable
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Mount your Redis log directory so the collector can read them
Option 1: Docker Compose
Update your ClickStack deployment configuration:
Option 2: Docker Run (All-in-One Image)
If using the all-in-one image with docker run:
Ensure the ClickStack collector has appropriate permissions to read the Redis log files. In production, use read-only mounts (:ro) and follow the principle of least privilege.
Demo dataset
For users who want to test the Redis integration before configuring their production systems, we provide a sample dataset of pre-generated Redis logs with realistic patterns.
Create test collector configuration
Create a file named redis-demo.yaml with the following configuration:
Run ClickStack with demo configuration
Run ClickStack with the demo logs and configuration:
This mounts the log file directly into the container. This is done for testing purposes with static demo data.
Verify logs in HyperDX
Once ClickStack is running:
- Open HyperDX and log in to your account, you may need to create an account first.
- Once logged in, open this link. You should see what's pictured in the screenshots below.
If you don't see logs, ensure the time range is set to 2025-10-27 10:00:00 - 2025-10-28 10:00:00 and 'Logs' is selected as the source. Using the link is important to get the proper time range of results.
Dashboards and visualization
To help you get started monitoring Redis with ClickStack, we provide essential visualizations for Redis logs.
Troubleshooting
Custom config not loading
Verify the environment variable is set correctly:
Check that the custom config file is mounted:
View the custom config content:
Check the effective config includes your filelog receiver:
No logs appearing in HyperDX
Ensure Redis is writing logs to a file:
Check Redis is actively logging:
Verify the collector can read the logs:
Check for errors in the collector logs:
If using docker-compose, verify shared volumes:
Logs not parsing correctly
Verify Redis log format matches expected pattern:
If your Redis logs have a different format, you may need to adjust the regex pattern in the regex_parser operator. The standard format is:
pid:role timestamp level message- Example:
12345:M 28 Oct 2024 14:23:45.123 * Server started
Next Steps
If you want to explore further, here are some next steps to experiment with your dashboard
- Set up alerts for critical metrics (error rates, latency thresholds)
- Create additional dashboards for specific use cases (API monitoring, security events)