From dash0-agent-skills
Configures and deploys the OpenTelemetry Collector: receivers, exporters, processors, pipelines, sampling, RED metrics, and custom distributions. Use for agent/gateway patterns, Kubernetes (operator, Helm chart, raw manifests), and Dash0 forwarding.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dash0-agent-skills:otel-collectorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Expert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry.
README.mdrules/custom-distributions.mdrules/deployment.mdrules/deployment/collector-helm-chart.mdrules/deployment/dash0-operator.mdrules/deployment/opentelemetry-operator.mdrules/deployment/raw-manifests.mdrules/exporters.mdrules/pipelines.mdrules/processors.mdrules/receivers.mdrules/red-metrics.mdrules/sampling.mdExpert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry.
| Rule | Description |
|---|---|
| receivers | Receivers — OTLP, Prometheus, filelog, hostmetrics |
| exporters | Exporters — OTLP/gRPC to Dash0, debug, authentication |
| processors | Processors — memory limiter, resource detection, ordering, sending queue |
| pipelines | Pipelines — service section, per-signal configuration, connectors |
| deployment | Deployment — agent vs gateway patterns, deployment method selection |
| dash0-operator | Dash0 Kubernetes Operator — automated instrumentation, Collector management, Dash0 export |
| collector-helm-chart | Collector Helm chart — presets, modes, image selection |
| opentelemetry-operator | OpenTelemetry Operator — Collector CRD, auto-instrumentation, sidecar |
| raw-manifests | Raw Kubernetes manifests — DaemonSet, Deployment, RBAC, Docker Compose |
| sampling | Sampling — head, tail, load balancing |
| red-metrics | RED metrics — span-derived request rate, error rate, duration histograms |
| custom-distributions | Custom distributions — building a stripped-down Collector binary with OCB |
memory_limiter first in every pipeline.
Use the exporter's sending_queue with file_storage instead of the batch processor.
Incorrect ordering causes memory exhaustion or data loss.resourcedetection and k8sattributes to every signal pipeline (traces, metrics, and logs), not just one.
If one pipeline enriches telemetry with k8s.namespace.name or host.name but another does not, correlation between signals is compromised by incomplete metadata.memory_limiter in production.
Without it, a burst of telemetry can cause the Collector to OOM and crash.Minimal working configuration: OTLP receiver → memory limiter → OTLP/gRPC exporter to Dash0.
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: 400
spike_limit_mib: 100
exporters:
otlp:
endpoint: ingress.eu-west-1.aws.dash0.com:4317
headers:
Authorization: "Bearer ${env:DASH0_TOKEN}"
sending_queue:
enabled: true
storage: file_storage
service:
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]
See exporters for full authentication and queue configuration, and processors for adding resource detection.
service.pipelines.otelcol validate --config=config.yaml to catch structural errors before deployment.debug exporter to a pipeline temporarily and inspect stdout to confirm telemetry is flowing; then remove it before going to production.| What do you need? | Rule |
|---|---|
| Accept OTLP telemetry from applications | receivers |
| Scrape Prometheus endpoints | receivers |
| Collect log files or host metrics | receivers |
| Send telemetry to Dash0 | exporters |
| Configure retry, queue, or compression | exporters |
| Set processor ordering | processors |
| Add Kubernetes or cloud metadata | processors |
| Wire receivers → processors → exporters | pipelines |
| Complete working configuration | pipelines |
| Validate the pipeline with the debug exporter | collector-helm-chart, opentelemetry-operator, raw-manifests, or dash0-operator |
| Deploy as DaemonSet or Deployment | raw-manifests |
| Deploy with Helm | collector-helm-chart |
| Deploy with the OTel Operator | opentelemetry-operator |
| Deploy with the Dash0 Operator | dash0-operator |
| Auto-instrument applications in Kubernetes | opentelemetry-operator or dash0-operator |
| Local development with Docker Compose | raw-manifests |
| Reduce trace volume | sampling |
| Keep errors and slow traces, drop the rest | sampling |
| Redact sensitive data in the pipeline | processors |
| Generate RED metrics from traces | red-metrics |
| Build a custom Collector binary | custom-distributions |
npx claudepluginhub dash0hq/claude-marketplace --plugin dash0-agent-skillsGuides authoring, reviewing, and debugging OpenTelemetry Collector YAML for receivers, processors, exporters, connectors, and extensions — config keys, defaults, validation, signal support, and gotchas.
Reviews OpenTelemetry Collector configurations managed by the Operator for pipeline correctness, deployment mode, memory safety, sampling integrity, and auto-instrumentation coverage.
Instrument apps with OpenTelemetry and send telemetry to Grafana Cloud via OTLP. Covers SDK setup, Alloy collector, sampling, and migration from other observability tools.