OpenTelemetry Collector
OpenTelemetry Collector configuration management via OpAMP
ollyScale uses the OpenTelemetry Collector as the telemetry ingestion and shipping layer. The collector receives telemetry from your applications and forwards it to ollyScale's OTLP receiver.
OpenTelemetry Collector + OpAMP Config Page
ollyScale includes a web interface for managing OpenTelemetry Collector configurations via the OpAMP (Open Agent Management Protocol). Access this page through the "OpenTelemetry Collector + OpAMP Config" tab in the ollyScale UI.
Features:
- View current configuration from connected collectors
- Apply configuration changes with real-time validation
- Browse configuration templates for common use cases
- Monitor OpAMP server status and connected agents
- Preview configuration diffs before applying
Requirements:
- Your collector must be configured with the OpAMP extension (see OpAMP Configuration below)
- Collector must be connected to the OpAMP server
Configuration
ollyScale includes a sample collector configuration that you can customize for your needs. The configuration files are located at:
- Docker:
docker/otelcol-configs/config.yaml - Kubernetes (Helm): Configured via Helm values - see
charts/ollyscale/values.yamlfor OTel Collector settings
Default Configuration
The default configuration includes:
- OTLP Receivers: Accepts telemetry on ports 4317 (gRPC) and 4318 (HTTP)
- OpAMP Extension: Enables remote configuration management via ollyScale UI
- Span Metrics Connector: Automatically generates RED metrics from traces
- Batch Processor: Batches telemetry for efficient processing
- OTLP Exporter: Forwards all telemetry to ollyScale's OTLP receiver
Customization Examples
You can extend the collector configuration to add additional capabilities. The collector uses the otel/opentelemetry-collector-contrib image which includes:
- Receivers: OTLP, Prometheus, Jaeger, Zipkin, and many more
- Processors: Batch, Memory Limiter, Resource Detection, Tail Sampling, Filtering
- Connectors: Span Metrics, Service Graph
- Exporters: OTLP, Prometheus, Logging, and many more
For a complete list of available components, see the OpenTelemetry Collector Contrib documentation.
Applying Changes
Docker
After modifying docker/otelcol-configs/config.yaml rebuild/restart using:
Kubernetes
When deployed via Helm, the OTel Collector is managed by the OpenTelemetry Operator. To customize the configuration:
- Edit
charts/ollyscale/values.yamlunder theotelCollectorsection - Apply changes:
Alternatively, patch the OpenTelemetryCollector custom resource directly:
Using Your Own Collector
You can use your own OpenTelemetry Collector instance instead of the one bundled with ollyScale. This is useful if you have an existing collector setup or want to test specific collector configurations.
To do this, deploy the Core-Only version of ollyScale (see Docker Deployment or Kubernetes Deployment).
Then, configure your collector's OTLP exporter to send data to the ollyScale Receiver:
- Endpoint:
ollyscale-otlp-receiver:4343(orlocalhost:4343from host) - Protocol: gRPC
- TLS: Insecure (or configured as needed)
Example Exporter Configuration:
OpAMP Configuration (Optional)
The OpenTelemetry Collector + OpAMP Config page in the ollyScale UI allows you to view and manage collector configurations remotely. To enable this feature, add the OpAMP extension to your collector config:
The default configuration template (located at docker/otelcol-configs/config.yaml) shows a complete example with OTLP receivers, OpAMP extension, batch processing, and spanmetrics connector. Your collector will connect to the OpAMP server and receive configuration updates through the ollyScale UI.