CtrlK
BlogDocsLog inGet started
Tessl Logo

dash0/agent-skills

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

1.39x
Quality

93%

Does it follow best practices?

Impact

96%

1.39x

Average score across 12 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

README.mdskills/otel-collector/

otel-collector

Expert guidance for configuring and deploying the OpenTelemetry Collector to receive, process, and export telemetry to Dash0 or any OTLP-compatible backend.

Structure

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 traces

Getting started

Install the skill:

npx skills add dash0/otel-collector

The skill activates automatically when working on Collector configuration tasks.

Rules

RuleImpactDescription
receiversCRITICALOTLP, Prometheus, filelog, and hostmetrics receiver configuration
exportersCRITICALOTLP/gRPC exporter to Dash0 with authentication, retry, and queuing
processorsHIGHRequired and recommended processors with ordering rules
pipelinesCRITICALService section, per-signal pipelines, complete working config
deploymentHIGHAgent vs gateway patterns, deployment method selection
raw-manifestsHIGHRaw Kubernetes manifests — DaemonSet, Deployment, RBAC, Docker Compose
dash0-operatorHIGHDash0 Kubernetes Operator — automated instrumentation and Collector management
samplingHIGHHead sampling, tail sampling, load balancing
red-metricsHIGHSemconv-aligned RED metrics from traces

Quick start

Get your credentials:

  • OTLP Endpoint: In Dash0: Settings → Organization → Endpoints → OTLP via HTTP or Settings → Organization → Endpoints → OTLP via gRPC
  • Auth Token: In Dash0: Settings → Auth Tokens → Create Token

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:

Key principles

  • Processor ordering mattersmemory_limiter first in every pipeline.
  • One pipeline per signal — separate pipelines for traces, metrics, and logs.
  • Memory safety is non-negotiable — always configure memory_limiter in production.
  • Every component must be in a pipeline — declared but unused components cause startup failure.

Resources

License

Apache-2.0

README.md

tile.json