Redis OpenTelemetry Assets
| Version | 0.1.0
|
| Subscription level What's this? |
Basic |
| Developed by What's this? |
Elastic |
| Minimum Kibana version(s) | 9.3.0 |
To use beta integrations, go to the Integrations page in Kibana, scroll down, and toggle on the Display beta integrations option.
Redis is an open-source, in-memory data structure store used as a database, cache, message broker, and streaming engine. It delivers sub-millisecond latency for most operations and supports a rich set of data structures.
This content pack provides dashboards, alert rules, and SLO templates for Redis instances monitored using the OpenTelemetry Redis receiver. The assets cover memory usage, connection management, keyspace health, replication status, persistence metrics, and command latency.
The Redis OpenTelemetry assets have been tested with OpenTelemetry Redis receiver v0.145.0.
Redis tested against:
- Redis 6.x, 7.x
You need Elasticsearch for storing and searching your data and Kibana for visualizing and managing it. You can use our hosted Elasticsearch Service on Elastic Cloud, which is recommended, or self-manage the Elastic Stack on your own hardware.
The Redis receiver connects to Redis using the INFO, SLOWLOG, and CLIENT LIST commands. Ensure the collector can reach the Redis instance over the network. If Redis is protected by a password, configure it in the receiver (see placeholder table below). No additional Redis-side configuration is required for basic metrics collection.
Add the Redis receiver to your OpenTelemetry Collector or Elastic Distribution of OpenTelemetry (EDOT) Collector configuration. Wire it to the elasticsearch/otel exporter with mapping.mode: otel so metrics are stored in the correct format for the dashboards, alerts, and SLOs.
| Placeholder | Description | Example |
|---|---|---|
<REDIS_ENDPOINT> |
Redis server address and port | localhost:6379 |
<ES_ENDPOINT> |
Elasticsearch ingest endpoint URL | https://my-deployment.es.us-central1.gcp.cloud.es.io:443 |
<ES_API_KEY> |
Elasticsearch API key for authentication | Use ${env:ES_API_KEY} and set the variable in your environment |
receivers:
redis:
endpoint: <REDIS_ENDPOINT>
collection_interval: 10s
# password: ${env:REDIS_PASSWORD}
metrics:
redis.cmd.latency:
enabled: true
redis.maxmemory:
enabled: true
exporters:
elasticsearch/otel:
endpoints: [<ES_ENDPOINT>]
api_key: <ES_API_KEY>
mapping:
mode: otel
service:
pipelines:
metrics:
receivers: [redis]
exporters: [elasticsearch/otel]
- Uncomment if Redis requires authentication
- disabled by default — required for P99 latency SLO
- disabled by default — required for Memory approaching maxmemory alert
If you do not use the P99 command latency SLO or the Memory approaching maxmemory alert, you can omit the metrics block and rely on the default metric set.
Refer to the metadata.yaml of the OpenTelemetry Redis receiver for details on available metrics.
| Dashboard | Description |
|---|---|
| [Redis OTel] Overview | Overview of Redis instance health and performance: memory usage, connection counts, command throughput, keyspace hit rate, replication status, and persistence metrics. |
| [Redis OTel] Memory & Persistence | Detailed view of Redis memory usage, fragmentation, CPU consumption, and persistence (RDB, fork duration, replication offset). |
| Alert | Trigger | Severity |
|---|---|---|
| [Redis OTel] Rejected connections | One or more connections rejected (maxclients reached) | Critical |
| [Redis OTel] Memory fragmentation indicates swapping | Fragmentation ratio below 1.0 (RSS < used memory) | Critical |
| [Redis OTel] Memory approaching maxmemory | Memory usage exceeds 90% of maxmemory | High |
| [Redis OTel] High eviction rate | Evictions exceed 100 in 15 minutes | High |
| [Redis OTel] Primary has no connected replicas | Primary instance has zero connected replicas | High |
SLO templates require Elastic Stack version 9.4.0 or later.
| SLO | Target | Window | Description |
|---|---|---|---|
| [Redis OTel] P99 command latency 99.5% rolling 30 days | 99.5% | 30-day rolling | Tracks p99 command latency below 10 ms over 1-minute intervals. |
| [Redis OTel] Fork duration 99.5% rolling 30 days | 99.5% | 30-day rolling | Tracks fork duration below 100 ms over 1-minute intervals. |
| [Redis OTel] Connection availability 99.5% rolling 30 days | 99.5% | 30-day rolling | Tracks connection success rate over 1-minute intervals. |
This integration includes one or more Kibana dashboards that visualizes the data collected by the integration. The screenshots below illustrate how the ingested data is displayed.
Changelog
| Version | Details | Minimum Kibana version |
|---|---|---|
| 0.1.0 | Enhancement (View pull request) Initial draft of the package |
9.3.0 |