CtrlK
BlogDocsLog inGet started
Tessl Logo

o11y-dev/opentelemetry-skill

Expert OpenTelemetry guidance for collector configuration, pipeline design, and production telemetry instrumentation across Kubernetes, ECS, serverless, and standalone deployments. Use when configuring collectors, designing pipelines, instrumenting applications, implementing sampling, managing cardinality, securing telemetry, writing OTTL transformations, or setting up AI coding agent observability (Claude Code, Codex, Gemini CLI, GitHub Copilot).

94

1.34x
Quality

98%

Does it follow best practices?

Impact

94%

1.34x

Average score across 18 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

setup-index.mdreferences/

OpenTelemetry Collector Deployment Setup Index

Overview

This guide serves as a navigation hub for choosing the right deployment platform and pattern for your OpenTelemetry Collector. Use the decision matrix below to find the setup guide that best matches your infrastructure.

The OpenTelemetry Collector can run on virtually any platform—from Kubernetes clusters to standalone VMs, serverless environments, and containers. Your infrastructure choice determines which deployment patterns and configuration strategies apply.

Quick Decision: Which Platform Matches Your Use Case?

ScenarioPlatformRecommended GuideKey Considerations
Running on Kubernetes clusters (EKS, GKE, AKS, OpenShift)Kubernetessetup-kubernetes.mdDaemonSet for node-local collection, Gateway for aggregation, Sidecar for Fargate
Using AWS ECS on EC2 or FargateECSsetup-ecs.mdEC2 daemon mode, Fargate sidecar pattern, IAM roles, task metadata
Running Docker containers or Docker Compose locallyDockersetup-docker.mdCompose networking, volume mounts, bridge vs host mode
Running on standalone VMs or EC2 instancesVM/EC2setup-vm.mdSystemd services, binary installation, configuration management
Serverless functions (Lambda, Cloud Functions, Azure Functions)Serverlessplatforms.mdLambda extensions, cold starts, async export patterns

Deployment Patterns Quick Comparison

All platforms support three core deployment patterns. Choose based on your telemetry collection needs:

PatternDescriptionBest ForComplexityScaling
Agent/DaemonSetCollector runs on each node/host, collecting local metrics and logsHost metrics, container logs, node-level telemetryLowAutomatic (1 per node)
Gateway/DeploymentCentralized collector instance(s) receiving telemetry from applicationsTail sampling, metric aggregation, multi-tier processingMediumManual (replica count)
SidecarCollector runs in same pod/container group as applicationPer-pod isolation, Fargate tasks, serverless functionsHighAutomatic (1 per pod/function)

Hybrid Deployments

Production systems often combine patterns:

┌──────────────────────────────────────┐
│   Application Pods (with sidecars)   │
│   ↓ (traces, metrics, logs)          │
├──────────────────────────────────────┤
│   Gateway Collector (aggregation,    │
│   tail sampling, attribute enrichment)│
│   ↓                                  │
├──────────────────────────────────────┤
│   Agent Collectors (host metrics,    │
│   cluster events, log collection)    │
│   ↓                                  │
├──────────────────────────────────────┤
│   Backend Exporters (OTLP, Jaeger,   │
│   Prometheus, etc.)                  │
└──────────────────────────────────────┘

This hybrid setup provides:

  • Node coverage via DaemonSet agents
  • Scalable processing via Gateway deployments
  • Pod isolation via optional sidecars

Platform Selection Decision Tree

Is your workload orchestrated?
├─ YES: Kubernetes?
│  └─ YES → See setup-kubernetes.md
│  └─ NO: ECS?
│     ├─ YES → See setup-ecs.md
│     └─ NO: Other orchestration → See documentation for your platform
├─ NO: Containerized?
│  ├─ YES: Docker/Docker Compose → See setup-docker.md
│  └─ NO: Standalone machine → See setup-vm.md

Special cases:
- Serverless (Lambda, Cloud Functions) → See platforms.md
- Hybrid on-prem + cloud → Combine patterns from multiple guides

Network & Connectivity Considerations

Regardless of platform, consider:

AspectDecision
Receiver ProtocolOTLP/gRPC (4317) for high performance; OTLP/HTTP (4318) for firewall traversal
Exporter AuthenticationmTLS for production; API keys/tokens for managed services (store in secrets/vaults)
Network SegmentationAgent pattern keeps traffic local; Gateway pattern centralizes network flows
BandwidthTail sampling (gateway) reduces egress; batch processor increases throughput efficiency

Observability Stack Architecture

A typical observability stack includes:

Instrumented Apps (SDKs)
    ↓ (OTLP/gRPC or OTLP/HTTP)
[Collector Agent or Sidecar]
    ↓ (internal processing, sampling, filtering)
[Collector Gateway] (optional, for aggregation)
    ↓ (batching, compression)
[Backend or Managed Service]
    → Traces (Jaeger, Tempo, Datadog, etc.)
    → Metrics (Prometheus, Cortex, M3, Datadog, etc.)
    → Logs (Loki, Elasticsearch, S3, Datadog, etc.)

Next Steps

  1. Identify Your Platform: Choose from the decision matrix above
  2. Read the Setup Guide: Follow the guide specific to your platform
  3. Review Architecture Patterns: Each guide explains when to use Agent, Gateway, or Sidecar
  4. Implement & Configure: Use YAML/JSON examples from your guide
  5. Troubleshoot: Refer to the troubleshooting section if issues arise
  6. Cross-Reference: Link to architecture.md for detailed scaling patterns, collector.md for configuration reference, and security.md for hardening

Common Patterns by Organization Size

OrganizationRecommended PatternRationale
Single application, single regionSidecar or Gateway onlyMinimal operational overhead
Multiple applications, single regionAgent + Gateway hybridCentralized collection, scalable processing
Multi-region, managed servicesSidecar + regional gatewaysIsolation, reduced blast radius
Enterprise, compliance-sensitiveIsolated agent/gateway per teamSecurity boundaries, cost allocation

Reference Links

CHANGELOG.md

CONTRIBUTING.md

README.md

SKILL.md

tessl.json

tile.json