Overview
OpenTelemetry Collector is an open-source pipeline that receives, processes, and exports metrics, logs, and traces to Grafana. This template deploys a OTel Collector workload with automated receiver and processor configuration.What Gets Created
- Standard Workload — A OTel Collector workload that supports both a simple and an advanced mode allowing you to run a minimal setup for quick deployment or a fully customized configuration.
- Secret — An opaque secret for configuring the collector.
- Identity & Policy — An identity and policy bound to the OTel Collector workload with
revealaccess to the secret.
This template does not create a GVC. You will need to deploy it to an existing GVC and enable tracing at the GVC level after installing, specifying the target workload and port. This will trigger a restart of all workloads in the GVC.
Installation
To install, follow the instructions for your preferred method:UI
Browse, install, and manage templates visually
CLI
Manage templates from your terminal
Terraform
Declare templates in your Terraform configurations
Pulumi
Declare templates in your Pulumi programs
Configuration
Steps 1 is completed while deploying the template. After deploying the template, complete the following steps to finish configuration: 1. Normalize URL patterns (recommended) If your application has dynamic URL segments, use thetransform processor to normalize them into fixed patterns. This keeps span cardinality manageable and makes your traces queryable. In both configs, replace PLACEHOLDER with each path segment you want to collapse:
4317. This triggers a restart of all workloads in the GVC so they begin emitting traces to the collector.
Span metrics are exposed via Prometheus on port 8889 of the collector workload.
4. Query span metrics in Grafana
Use the spanmetrics connector to build dashboards and alerts. The metric name depends on the histogram unit set in values.yaml.
s in the histogram, the metric name changes to:
values.yaml for this template:
Mode
otelCollector.mode— Set tosimplefor a minimal setup for quick deployment, oradvancedto provide a fully customized configuration. Inadvancedmode, the entireotelCollector.advanced.configis passed directly to the collector.
Simple Mode
simple.processors.transform.traceStatements— A list ofreplace_patternstatements that normalize dynamic URL segments inhttp.urlspan attributes. ReplacePLACEHOLDERwith the path segment you want to collapse, e.g.user/profile.simple.spanmetrics.histogram.buckets— Histogram bucket boundaries in milliseconds for span duration distribution. Tune these to align with your SLO thresholds.simple.spanmetrics.histogram.unit— Unit for histogram bucket values. Choosems(milliseconds) ors(seconds).
Advanced Mode
Theadvanced.config block accepts a full OpenTelemetry Collector configuration.
| Component | Description |
|---|---|
receivers.otlp | Accepts traces from your application over gRPC on port 4317 |
processors.resource | Copies service.name into a workload attribute for easier filtering |
processors.transform | Normalizes dynamic URL segments in span attributes |
connectors.spanmetrics | Derives duration histograms and request metrics from trace spans |
exporters.otlp | Forwards traces to the Control Plane tracing backend |
exporters.prometheus | Exposes span-derived metrics for scraping on port 8889 |
exporters.debug | Logs spans to the workload’s stdout — useful during development |
External References
OTel Collector Documentation
Official OpenTelemetry Collector documentation
OTel SDK Setup
Language-specific SDK guides for instrumenting your application
Spanmetrics Connector
Reference for the spanmetrics connector configuration
OTel Collector Template
View the source files, default values, and chart definition