Enable Redis Stream Monitors
Deploy and configure Redis stream monitors to track event framework metrics in Harness Self-Managed Enterprise Edition.
Overview
To set up end-to-end monitoring for Redis, you need to gather metrics from two sources: the redis-exporter and redis-stream-monitor. The redis-exporter provides basic functional metrics, while the stream-monitor publishes more descriptive metrics as a separate service.
This guide focuses on deploying the redis-stream-monitor to capture detailed event framework metrics that are useful for monitoring entire events activity under Harness.
Part 1: Deploy Redis Stream Monitor Chart
The redis stream monitor chart provides descriptive and meaningful metrics about Redis streams used by the Harness event framework.
Pull the Chart
helm pull oci://us-west1-docker.pkg.dev/gcr-prod/harness-helm-artifacts/redis-stream-monitor --version 1.4.0 --untarConfigure Override Values
Create a file named override.yaml with the following content:
global:
monitoring:
enabled: true
port: 8889
path: /metrics
managedPlatform: "oss"
resources:
limits:
memory: 4096Mi
requests:
cpu: 1
memory: 4096Mi
config:
EVENTS_FRAMEWORK_ENV_NAMESPACE: ""
STACK_DRIVER_METRICS_PUSH_ENABLED: "true"
ENV: "SMP"Install the Chart
Available Metrics
The following metrics are captured and made available through this service:
redis_streams_length- Number of messages in the streamredis_streams_memory_usage- Memory used by the streamredis_streams_average_message_size- Average size of messages in the streamredis_streams_events_framework_deadletter_queue_size- Size of the dead letter queueredis_streams_consumer_group_pending_count- Number of pending messages in consumer groupredis_streams_consumer_group_behind_by_count- How far behind the consumer group is
PromQL Dashboard Queries
Single Stream Dashboards
Use these queries to monitor a specific use case by setting the $usecase variable:
Multiple Stream Dashboards
Use these queries to monitor all streams across all use cases:
Available Use Cases
The usecaseName label can be one of the following values:
Part 2: Configure Metric Scraping
Option 1: Using Prometheus Operator (monitoring.coreos.com/v1)
If you are using the Prometheus Operator with monitoring.coreos.com/v1 CRDs, create a PodMonitor resource to scrape metrics from the redis-stream-monitor pods.
Create a file named podmonitor.yaml:
Apply the PodMonitor:
Option 2: Using Other Observability Tools
For other observability platforms, configure your scraper to:
Target port:
8889Metrics path:
/metricsPod selector:
app.kubernetes.io/name: redis-stream-monitor
Summary
You have now deployed the redis-stream-monitor to capture detailed Redis stream metrics. These metrics provide valuable insights into the Harness event framework, including stream length, memory usage, consumer lag, and dead letter queue sizes, enabling proactive monitoring and troubleshooting of event processing in your Harness environment.
Last updated
Was this helpful?