OpenTelemetry Collector
OpenTelemetry Collector configuration management via OpAMP
TinyOlly uses the OpenTelemetry Collector as the telemetry ingestion and shipping layer. The collector receives telemetry from your applications and forwards it to TinyOlly's OTLP receiver.
OpenTelemetry Collector + OpAMP Config Page
TinyOlly 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 TinyOlly 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
TinyOlly 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:
k8s/otel-collector-config.yaml
Default Configuration
The default configuration includes:
- OTLP Receivers: Accepts telemetry on ports 4317 (gRPC) and 4318 (HTTP)
- OpAMP Extension: Enables remote configuration management via TinyOlly UI
- Span Metrics Connector: Automatically generates RED metrics from traces
- Batch Processor: Batches telemetry for efficient processing
- OTLP Exporter: Forwards all telemetry to TinyOlly'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
After modifying k8s/otel-collector-config.yaml: rebuild/restart using:
Using Your Own Collector
You can use your own OpenTelemetry Collector instance instead of the one bundled with TinyOlly. 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 TinyOlly (see Docker Deployment or Kubernetes Deployment).
Then, configure your collector's OTLP exporter to send data to the TinyOlly Receiver:
- Endpoint:
tinyolly-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 TinyOlly 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 TinyOlly UI.