Expert guidance for configuring and deploying the OpenTelemetry Collector. Use when setting up a Collector pipeline, configuring receivers, exporters, or processors, deploying a Collector to Kubernetes or Docker, or forwarding telemetry to Dash0. Triggers on requests involving collector, pipeline, OTLP receiver, exporter, or Dash0 collector setup.
95
93%
Does it follow best practices?
Impact
96%
1.39xAverage score across 12 eval scenarios
Advisory
Suggest reviewing before use
Expert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry to Dash0 or any OTLP-compatible backend.
otel-collector/
├── SKILL.md # Skill manifest and entry point
├── README.md # This file
└── rules/
├── receivers.md # OTLP, Prometheus, filelog, hostmetrics
├── exporters.md # OTLP/gRPC to Dash0, debug, authentication
├── processors.md # Memory limiter, resource detection, ordering
├── pipelines.md # Service section, per-signal config, connectors
├── deployment.md # Agent vs gateway patterns, deployment method selection
├── deployment/
│ ├── collector-helm-chart.md # Collector Helm chart
│ ├── opentelemetry-operator.md # OTel Operator and auto-instrumentation
│ ├── dash0-operator.md # Dash0 Kubernetes Operator
│ └── raw-manifests.md # DaemonSet, Deployment, RBAC, Docker Compose
├── sampling.md # Head sampling, tail sampling, load balancing
└── red-metrics.md # Semconv-aligned RED metrics from tracesInstall the skill:
npx skills add dash0/otel-collectorThe skill activates automatically when working on Collector configuration tasks.
| Rule | Impact | Description |
|---|---|---|
| receivers | CRITICAL | OTLP, Prometheus, filelog, and hostmetrics receiver configuration |
| exporters | CRITICAL | OTLP/gRPC exporter to Dash0 with authentication, retry, and queuing |
| processors | HIGH | Required and recommended processors with ordering rules |
| pipelines | CRITICAL | Service section, per-signal pipelines, complete working config |
| deployment | HIGH | Agent vs gateway patterns, deployment method selection |
| raw-manifests | HIGH | Raw Kubernetes manifests — DaemonSet, Deployment, RBAC, Docker Compose |
| dash0-operator | HIGH | Dash0 Kubernetes Operator — automated instrumentation and Collector management |
| sampling | HIGH | Head sampling, tail sampling, load balancing |
| red-metrics | HIGH | Semconv-aligned RED metrics from traces |
Get your credentials:
Minimal working configuration:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
memory_limiter:
check_interval: 1s
limit_mib: 512
spike_limit_mib: 128
exporters:
otlp:
endpoint: <OTLP_ENDPOINT>
headers:
Authorization: "Bearer <AUTH_TOKEN>"
sending_queue:
enabled: true
queue_size: 5000
storage: file_storage
extensions:
file_storage:
directory: /var/lib/otelcol/queue
service:
extensions: [file_storage]
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter]
exporters: [otlp]
metrics:
receivers: [otlp]
processors: [memory_limiter]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [memory_limiter]
exporters: [otlp]Replace the placeholders with values from your Dash0 account:
<OTLP_ENDPOINT>: copy the gRPC endpoint from Settings → Endpoints → OTLP via gRPC (e.g., ingress.eu-west-1.aws.dash0.com:4317).<AUTH_TOKEN>: create or copy a token from Settings → Auth Tokens.memory_limiter first in every pipeline.memory_limiter in production.Apache-2.0