Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ panels:

- id: pipeline-otel-collector-memory
title: "OTel Collector Memory (bytes)"
query: "otelcol_process_memory_rss_bytes"
query: "otelcol_process_memory_rss"
chartType: line

# --- Row 4: OTel Collector CPU & Uptime ---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,12 @@ tests:
- equal:
path: metadata.annotations["helm.sh/hook"]
value: post-install,post-upgrade

- it: should use the collector RSS metric exposed by the OTel Collector
asserts:
- matchRegex:
path: data["dashboard-pipeline-health.yaml"]
pattern: 'query: "otelcol_process_memory_rss"'
- notMatchRegex:
path: data["dashboard-pipeline-health.yaml"]
pattern: "otelcol_process_memory_rss_bytes"
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ panels:

- id: pipeline-otel-collector-memory
title: "OTel Collector Memory (bytes)"
query: "otelcol_process_memory_rss_bytes"
query: "otelcol_process_memory_rss"
chartType: line

# --- Row 4: OTel Collector CPU & Uptime ---
Expand Down
30 changes: 28 additions & 2 deletions docker-compose/otel-collector/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,32 @@ receivers:
- target_label: service.name
replacement: frontend-proxy

# Cortex internal metrics for the Pipeline Health dashboard.
prometheus/cortex:
config:
scrape_configs:
- job_name: cortex
scrape_interval: 15s
metrics_path: /metrics
static_configs:
- targets: ["prometheus:9090"]
relabel_configs:
- target_label: service.name
replacement: cortex

# Data Prepper pipeline metrics for the Pipeline Health dashboard.
prometheus/data-prepper:
config:
scrape_configs:
- job_name: data-prepper-pipelines
scrape_interval: 15s
metrics_path: /metrics/prometheus
static_configs:
- targets: ["data-prepper:4900"]
relabel_configs:
- target_label: service.name
replacement: data-prepper

processors:
# Memory limiter prevents OOM by dropping data when memory usage is high
# Critical for stability under load
Expand Down Expand Up @@ -171,9 +197,9 @@ service:
processors: [resourcedetection, memory_limiter, gen_ai_normalizer, transform, batch]
exporters: [otlp/opensearch, debug]

# Metrics pipeline: OTLP + self-scrape + envoy scrape -> processing -> Cortex
# Metrics pipeline: OTLP + component scrapes -> processing -> Cortex
metrics:
receivers: [otlp, prometheus/self, prometheus/envoy]
receivers: [otlp, prometheus/self, prometheus/envoy, prometheus/cortex, prometheus/data-prepper]
processors: [resourcedetection, memory_limiter, batch]
exporters: [prometheusremotewrite/cortex, debug]

Expand Down