Skip to content

Conversation

paulojmdias
Copy link
Member

@paulojmdias paulojmdias commented Sep 1, 2025

Description

Add support for exposing Redis sentinel and mode metrics.

Redis Sentinel metrics with Redis mode:

# HELP redis_mode Redis server mode
# TYPE redis_mode gauge
redis_mode{mode="sentinel",otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 1
# HELP redis_sentinel_masters Number of masters monitored by Sentinel.
# TYPE redis_sentinel_masters gauge
redis_sentinel_masters{otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 1
# HELP redis_sentinel_running_scripts Number of running Sentinel scripts.
# TYPE redis_sentinel_running_scripts gauge
redis_sentinel_running_scripts{otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 0
# HELP redis_sentinel_scripts_queue_length Length of Sentinel scripts queue.
# TYPE redis_sentinel_scripts_queue_length gauge
redis_sentinel_scripts_queue_length{otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 0
# HELP redis_sentinel_simulate_failure_flags Simulated failure flags bitmask.
# TYPE redis_sentinel_simulate_failure_flags gauge
redis_sentinel_simulate_failure_flags{otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 0
# HELP redis_sentinel_tilt Whether Sentinel is in TILT mode (1 = tilt, 0 = normal).
# TYPE redis_sentinel_tilt gauge
redis_sentinel_tilt{otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 0
# HELP redis_sentinel_tilt_since_seconds Duration in seconds of current TILT, or -1 if not in TILT mode.
# TYPE redis_sentinel_tilt_since_seconds gauge
redis_sentinel_tilt_since_seconds{otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} -1
# HELP redis_sentinel_tilt_total Total TILT occurrences since start.
# TYPE redis_sentinel_tilt_total counter
redis_sentinel_tilt_total{otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 0

Redis mode (standalone):

# HELP redis_mode Redis server mode
# TYPE redis_mode gauge
redis_mode{mode="standalone",otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 1

Redis mode (cluster):

# HELP redis_mode Redis server mode
# TYPE redis_mode gauge
redis_mode{mode="cluster",otel_scope_name="github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver",otel_scope_schema_url="",otel_scope_version="0.134.0-dev"} 1

Link to tracking issue

Fixes #42365

Testing

I tested this against all the possible modes (sentinel, standalone, and cluster). The sentinel metrics are only evaluated and exposed when redis_mode:sentinel.

I also added integration tests TestIntegrationV8Sentinel for the sentinel mode.

Documentation

Updated the documentation using mdatagen

@paulojmdias paulojmdias marked this pull request as ready for review September 2, 2025 00:02
@paulojmdias paulojmdias requested review from dmitryax and a team as code owners September 2, 2025 00:02
@github-actions github-actions bot added the receiver/redis Redis related issues label Sep 2, 2025
@github-actions github-actions bot requested a review from hughesjj September 2, 2025 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for Redis sentinel information
3 participants