Monitoring Redis Logs with ClickStack

service:
  pipelines:
    logs/redis-demo:
      receivers: [filelog/redis]
      processors:
        - memory_limiter
        - transform
        - batch
      exporters:
        - clickhouse
EOF
```

Run ClickStack with demo configuration

#### Run ClickStack with demo configuration[​](#run-demo "Direct link to Run ClickStack with demo configuration")

Run ClickStack with the demo logs and configuration:

```
docker run --name clickstack-demo \
  -p 8080:8080 -p 4317:4317 -p 4318:4318 \
  -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
  -v "$(pwd)/redis-demo.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
  -v "$(pwd)/redis-server.log:/tmp/redis-demo/redis-server.log:ro" \
  clickhouse/clickstack-all-in-one:latest
```

Note

**This mounts the log file directly into the container. This is done for testing purposes with static demo data.**

## Verify logs in HyperDX[​](#verify-demo-logs "Direct link to Verify logs in HyperDX")

Once ClickStack is running:

1. Open [HyperDX](http://localhost:8080/) and log in to your account (you may need to create an account first)
2. Navigate to the Search view and set the source to `Logs`
3. Set the time range to **2025-10-26 10:00:00 - 2025-10-29 10:00:00**

Timezone Display

HyperDX displays timestamps in your browser's local timezone. The demo data spans **2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC)**. The wide time range ensures you'll see the demo logs regardless of your location. Once you see the logs, you can narrow the range to a 24-hour period for clearer visualizations.

## Dashboards and visualization[​](#dashboards "Direct link to Dashboards and visualization")

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

Download the dashboard configuration

#### [Download](/docs/examples/redis-logs-dashboard.json) the dashboard configuration[​](#download "Direct link to download")

Import Pre-built Dashboard

#### Import Pre-built Dashboard[​](#import-dashboard "Direct link to Import Pre-built Dashboard")

1. Open HyperDX and navigate to the Dashboards section.
2. Click "Import Dashboard" in the upper right corner under the ellipses.

3. Upload the redis-logs-dashboard.json file and click finish import.

The dashboard will be created with all visualizations pre-configured

#### The dashboard will be created with all visualizations pre-configured[​](#created-dashboard "Direct link to The dashboard will be created with all visualizations pre-configured")

Note

For the demo dataset, set the time range to **2025-10-27 10:00:00 - 2025-10-28 10:00:00 (UTC)** (adjust based on your local timezone). The imported dashboard won't have a time range specified by default.

## Troubleshooting[​](#troubleshooting "Direct link to Troubleshooting")

### Custom config not loading[​](#troubleshooting-not-loading "Direct link to Custom config not loading")

**Verify the environment variable is set correctly:**

```
docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILE
# Expected output: /etc/otelcol-contrib/custom.config.yaml
```

**Check that the custom config file is mounted:**

```
docker exec <container-name> ls -lh /etc/otelcol-contrib/custom.config.yaml
# Expected output: Should show file size and permissions
```

**View the custom config content:**

```
docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml
# Should display your redis-monitoring.yaml content
```

**Check the effective config includes your filelog receiver:**

```
docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 filelog
# Should show your filelog/redis receiver configuration
```

### No logs appearing in HyperDX[​](#no-logs "Direct link to No logs appearing in HyperDX")

**Ensure Redis is writing logs to a file:**

```
redis-cli CONFIG GET logfile
# Expected output: Should show a file path, not empty string
# Example: 1) "logfile" 2) "/var/log/redis/redis-server.log"
```

**Check Redis is actively logging:**

```
tail -f /var/log/redis/redis-server.log
# Should show recent log entries in Redis format
```

**Verify the collector can read the logs:**

```
docker exec <container> cat /var/log/redis/redis-server.log
# Should display Redis log entries
```

**Check for errors in the collector logs:**

```
docker exec <container> cat /etc/otel/supervisor-data/agent.log
# Look for any error messages related to filelog or Redis
```

**If using docker-compose, verify shared volumes:**

```
# Check both containers are using the same volume
docker volume inspect <volume-name>
# Verify both containers have the volume mounted
```

### Logs not parsing correctly[​](#logs-not-parsing "Direct link to Logs not parsing correctly")

**Verify Redis log format matches expected pattern:**

```
# Redis Logs should look like:
# 12345:M 28 Oct 2024 14:23:45.123 * Server started
tail -5 /var/log/redis/redis-server.log
```

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[​](#next-steps "Direct link to Next steps")

- Set up [alerts](/docs/use-cases/observability/clickstack/alerts) for critical metrics (error rates, latency thresholds)
- Create additional [dashboards](/docs/use-cases/observability/clickstack/dashboards) for specific use cases (API monitoring, security events)

## Going to production[​](#going-to-production "Direct link to 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](/docs/use-cases/observability/clickstack/ingesting-data/opentelemetry) for production configuration.

- [Integration with existing Redis](#existing-redis)
  - [Prerequisites](#prerequisites)- [Demo dataset](#demo-dataset)- [Verify logs in HyperDX](#verify-demo-logs)- [Dashboards and visualization](#dashboards)- [Troubleshooting](#troubleshooting)
          - [Custom config not loading](#troubleshooting-not-loading)- [No logs appearing in HyperDX](#no-logs)- [Logs not parsing correctly](#logs-not-parsing)- [Next steps](#next-steps)- [Going to production](#going-to-production)

Was this page helpful?