Prerequisites
- A ClickHouse Observability service
- Docker to run the collector examples, or an existing OpenTelemetry Collector Contrib deployment
- For your own metrics, a Redis instance reachable from the collector and credentials if Redis requires authentication
- For the demo,
curlto download and send the sample
Connection details
- Fully managed
- Self-managed
Open ClickHouse Observability and go to Team Settings → Data → Managed Telemetry. Copy your OTLP HTTP endpoint and API key. You can use Copy connection details to copy the configuration, or Reveal key to view the masked key.For the OTLP exporter examples below, set these variables in the terminal where you will run the collector:Replace the placeholders with the exact endpoint, including its port, and API key from your service. Use the base HTTP endpoint without a
/v1/metrics suffix; the exporter appends the signal path.http://host.docker.internal:4318. The Docker commands below include the host mapping.
Integration with existing Redis
1
Verify the Redis connection
From a host with Redis CLI access, check your Redis instance:The first command should return
PONG; the second should return server information. If Redis requires a password, set REDISCLI_AUTH in your terminal before running these commands. For Redis ACL users, also pass --user YOUR_REDIS_USER.2
Configure the collector
Save this as The receiver collects Redis metrics every 10 seconds, including memory usage, clients, commands processed, keyspace hits and misses, and expired or evicted keys. The resource processor sets
redis-metrics.yaml:service.name to redis-service for filtering.If Redis requires authentication, uncomment the appropriate receiver fields and set REDIS_USERNAME and/or REDIS_PASSWORD. These credentials connect to Redis; the OTLP authorization value authenticates with your destination collector. For TLS-enabled Redis, configure the receiver’s tls settings as described in the Redis receiver documentation.3
Run the collector
Set the connection variables and the Redis address reachable from the collector container. For Redis running on this computer:For remote Redis, use its hostname and port. For Redis in another container, use its container name and add Keep this terminal open while collecting metrics. Allow at least two collection intervals before checking the UI.
--network YOUR_NETWORK to the command below.From the directory containing redis-metrics.yaml, run:4
Verify metrics
Import the dashboard, map its charts to your Metrics source, and filter for
ServiceName:redis-service. Select Last 15 minutes and run the dashboard. Evictions and rejected connections can remain zero on a healthy Redis instance.Demo dataset
Try the integration with 6,912 gauge and sum data points sampled every five minutes across 24 hours. The sample preserves the original dataset’s cache-warming, traffic-spike, and memory-pressure patterns. You need Docker,curl, and your destination collector’s OTLP HTTP connection details.
Set the connection variables before starting.
1
Download the sample metrics
2
Configure the demo collector
Save this as
redis-metrics-demo.yaml:The demo-only transform refreshes timestamps while preserving metric values and the interval between each point’s start and end timestamps. Omit it for live Redis metrics. The batch limit keeps uploads small enough for the destination collector.
3
Run the demo collector
From the directory containing the configuration, run the collector and leave this terminal open:
4
Send the sample
In another terminal, run this command from the download directory:A response such as
{} or {"partialSuccess":{}} indicates the local collector accepted the request. Check the collector terminal for export errors and allow a few seconds for forwarding. Stop it with Ctrl+C after verifying the data. Sending the sample again can produce duplicate points.5
Verify the metrics
Import the dashboard in the next section, filter for
ServiceName:redis-demo, and select Last 2 days. The sample includes both gauge and sum metrics; no direct database access is needed.Dashboards and visualization
1
2
Import the pre-built dashboard
- Open Dashboards in ClickHouse Observability.
- Click Import in the upper-right corner.
- Upload
redis-metrics-dashboard.json, map the charts to your Metrics source, and click Finish Import.
3
View the dashboard
Filter for
ServiceName:redis-demo and select Last 2 days for the demo, or filter for ServiceName:redis-service and select a time range covering your own Redis metrics.Troubleshooting
Collector fails to start
Check the collector terminal for configuration errors. Confirm the YAML file is mounted at the documented path and the endpoint and required authentication variables are set in the terminal where you run Docker.No metrics appearing
- Check the collector output for Redis connection errors or OTLP export errors.
- Verify Redis is reachable from the collector container. For containers, check that they share the intended Docker network.
- Verify Redis credentials and that the user can run the commands required by the Redis receiver.
- Check the Metrics source, service-name filter, and time range. For the demo, select Last 2 days and confirm the timestamp transform is included in the pipeline.
- For managed services, verify the OTLP HTTP endpoint and Bearer API key against Managed Telemetry. For self-managed collectors, use their authentication settings.
Next steps
- Set up alerts for memory usage, connection limits, or cache hit rate.
- Create additional dashboards.
- See Sending OpenTelemetry data for more collector configuration guidance.