Skip to main content
Collect Redis metrics with the OpenTelemetry Redis receiver and send them to ClickHouse Observability. Use the demo dataset to try the integration without installing Redis.

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, curl to download and send the sample

Connection details

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.
The endpoint must be reachable from the collector container. For a destination collector running on this computer, use 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 redis-metrics.yaml:
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 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 --network YOUR_NETWORK to the command below.From the directory containing redis-metrics.yaml, run:
Keep this terminal open while collecting metrics. Allow at least two collection intervals before checking the UI.
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

  1. Open Dashboards in ClickHouse Observability.
  2. Click Import in the upper-right corner.
  1. 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