ollygarden/opentelemetry-agent-skills/otel-collector
Claude Code and agent skill by ollygarden/opentelemetry-agent-skills
- community
Checking that the SKILL.md file is still in the repository.
OpenTelemetry Collector component configuration. Use when authoring, reviewing, or debugging Collector YAML for a specific receiver, processor, exporter, connector, or extension — config keys, defaults, validation rules, signal support, stability levels, and component-level gotchas. Triggers on Collector component questions including receivers, processors, exporters, connectors, extensions, component renames, signal support, and pipeline wiring.
Install
npx vskill@latest install ollygarden/opentelemetry-agent-skills/otel-collectorSKILL.md
OpenTelemetry Collector
This skill covers the configuration surface of individual OpenTelemetry Collector components. It targets opentelemetry-collector and opentelemetry-collector-contrib.
It does not cover OTTL expressions (see otel-ottl), declarative SDK configuration (otel-declarative-config), deploying the eBPF profiler or other profiles producers (otel-profiles), or end-to-end pipeline design choices. Reach for those skills when the question is about transformation language, SDK setup, or pipeline composition.
Workflow
- Identify the component. Find the
typein the user's config or question (log_dedup,interval,otlp, …). Note that many components have been renamed to snake_case since v0.146.0 with deprecated aliases preserved — see Recent renames. - Load the component page before answering. If the component is in the Component index, always read
components/<type>/README.mdfirst — the top-level index is only a routing aid, not enough evidence for an answer. Follow its Details index to the smallest relevant file: readconfiguration.mdfor versioned keys, defaults, or validation;quirks.mdfor stability, availability, failure behavior, or migration traps; and the other detail files only as the question requires. Do not infer exact configuration or status from the summary row or memory. - If the component is not indexed, say so explicitly and fall back to the upstream README under
processor/<name>/,receiver/<name>/,exporter/<name>/,connector/<name>/, orextension/<name>/in opentelemetry-collector-contrib. Don't invent config keys from memory — Collector components evolve quickly. - Apply Collector-wide conventions. Named instances (
type/name), stability levels, and pipeline placement rules in Collector-wide conventions apply to every component. - Verify. Run the component page's Verification recipe —
telemetrygen(see theotel-telemetrygenskill) plus adebugorfileexporter — to confirm the component behaves as the docs claim. Alpha- and Development-stability components are common here, and behavior changes between releases. See Verification harness for how to run a recipe end-to-end.
Component index
Each component is a directory under components/<type>/. The File column points at the lean README.md (metadata, description, main use-cases, and a Details index); the full config reference, verification recipe, advanced use-cases, and quirks live in on-demand detail files linked from that README.
Coverage is intentionally selective. If a component is not indexed here, fall back to the upstream component README for the user's Collector version.
Verified 2026-10-25: Stability cells here and in component README headers match metadata.yaml at core and contrib v0.163.0; rename and "since" versions match metadata.yaml at the named tag and the one before. Offline, cite that release and date, not current stability.
Verified 2026-10-31: the v0.164.0 notes in component pages (PermissiveLabelSanitization and filelog.protobufCheckpointEncoding Stable; file_log, transform and resource_detection in the core distribution) match the contrib v0.164.1 changelog, `pkg/translator/prometheus/metadata.yaml`, `pkg/stanza/fileconsumer/metadata.yaml` and the `otelcol` manifest at v0.164.0.
| Type | File | Kind | Signals | Stability | Summary | |
|---|---|---|---|---|---|---|
log_dedup | components/log_dedup/README.md | processor | logs | Alpha | Deduplicates identical log records over a time window; emits one aggregated log with a count. Renamed from logdedup in v0.151.0; alias preserved. | |
interval | components/interval/README.md | processor | metrics | Alpha | Buffers metrics and emits one point per series per interval: latest value for cumulative monotonic series, gauges, and summaries; the summed value for delta series. Non-monotonic sums pass through unchanged. | |
tail_sampling | components/tail_sampling/README.md | processor | traces | Beta | Buffers whole traces and makes a single keep/drop decision after a wait window via policies. Supports in-process concurrency through num_shards; scaling across Collector instances still requires a load_balancing layer. v0.160 adds tracestate-aware thresholds for rate/bytes limiting. | |
drain | components/drain/README.md | processor | logs | Alpha | Clusters log bodies and annotates each record with a template. v0.158 replaced extract_parameters / params_attribute with masking_rules + parameter_key_prefix for named values and emit_wildcards + wildcards_attribute for remaining <*> positions. | |
redaction | components/redaction/README.md | processor | traces, logs, metrics | Beta (traces), Alpha (logs/metrics) | Allow/block-list masking or removal of sensitive attribute keys and values, with hashing and URL/DB sanitizers. | |
filter | components/filter/README.md | processor | traces, metrics, logs, profiles | Alpha (traces/metrics/logs), Development (profiles) | Drops spans, metric data points, log records, and profiles that match OTTL conditions (or legacy metric-name / severity filters). The most direct telemetry-volume lever. | |
transform | components/transform/README.md | processor | traces, metrics, logs, profiles | Beta (traces/metrics/logs), Development (profiles) | Applies OTTL statements to mutate spans, metric data points, log records, and profiles in place (rename/redact/convert/aggregate attributes). The OTTL language itself lives in the otel-ottl skill. | |
probabilistic_sampler | components/probabilistic_sampler/README.md | processor | traces, logs | Beta (traces), Alpha (logs) | Head sampling — deterministically keeps a configured percentage of traces/logs by hashing the trace ID (or an attribute). The cheaper, stateless counterpart to tail_sampling. | |
attributes | components/attributes/README.md | processor | traces, metrics, logs | Beta | Modifies span/log/datapoint attributes via an ordered action list (insert/update/upsert/delete/hash/extract/convert), scoped by include/exclude matching. | |
resource | components/resource/README.md | processor | traces, metrics, logs, profiles | Beta (traces/metrics/logs), Development (profiles) | Modifies the resource attributes of telemetry via the same action grammar as attributes (e.g. set service.name, drop noisy resource keys). No include/exclude matching. | |
k8s_attributes | components/k8s_attributes/README.md | processor | traces, metrics, logs, profiles | Stable (traces/metrics/logs, since v0.161), Development (profiles) | Enriches telemetry with Kubernetes pod/namespace/node/workload metadata, associating each record to a pod by IP or resource attribute. v0.161 enables the v1 semconv gates by default (singular k8s.pod.label.*, container.image.tags). | |
routing | components/routing/README.md | connector | traces, metrics, logs | Alpha | Routes same-signal telemetry to different pipelines by OTTL condition/statement per context; ordered table, first match wins, default_pipelines fallback. Replaces the deprecated routingprocessor. | |
memory_limiter | components/memory_limiter/README.md | processor | traces, metrics, logs, profiles | Beta (traces/metrics/logs), Alpha (profiles) | Safety valve against OOM: refuses data with backpressure when Go heap exceeds a soft/hard limit. Its receiver-middleware extension reached Beta in v0.158 but is absent from stock distributions; the bundled processor remains the standard form. | |
load_balancing | components/load_balancing/README.md | exporter | traces, logs, metrics | Beta (traces/logs), Alpha (metrics) | Distributes telemetry across downstream Collectors via a consistent-hash ring keyed on trace ID / service.name / (v0.162+) OTel randomness, etc., pinning related records to one backend. The standard way to scale tail_sampling/span_metrics. Renamed from loadbalancing in v0.153.0; alias preserved. | |
otlp (receiver) | components/otlp/README.md | receiver | traces, metrics, logs, profiles | Stable (traces/metrics/logs), Alpha (profiles) | The canonical OTLP ingress over gRPC (4317) and/or HTTP (4318, protobuf + JSON). protocols: block, at least one required. Default endpoint is localhost, not 0.0.0.0 — must be set explicitly to receive containerized traffic. | |
otlp_grpc (exporter) | components/otlp_exporter/README.md | exporter | traces, metrics, logs, profiles | Stable (traces/metrics/logs), Alpha (profiles) | Sends OTLP over gRPC to a downstream endpoint; gzip, sending queue, and retry are enabled by default. Exporter-side sending_queue.batch is opt-in unless the pkg.exporterhelper.queueBatchEnabled gate is enabled. Renamed from otlp in core v1.50.0; alias preserved. | |
file_log (receiver) | components/file_log/README.md | receiver | logs | Beta | Tails log files (glob include), turns each line/entry into a log record, and parses it via a stanza operators pipeline. Fingerprint + offset tracking across rotation; storage for durable offsets. v0.160 adds opt-in skip_unmodified_files. | |
resource_detection | components/resource_detection/README.md | processor | traces, metrics, logs, profiles | Beta (traces/metrics/logs), Development (profiles) | Auto-detects resource attributes via an ordered detectors list with global retry settings. Includes Azure Container Apps, Azure App Service (v0.160+), and Azure Functions (v0.162+) detectors. Renamed from resourcedetection in v0.153.0; alias preserved. | |
file_storage | components/file_storage/README.md | extension | — (not pipeline-scoped) | Beta | Persists component state to local disk (bbolt) so it survives a Collector restart: receiver read offsets (storage:), exporter persistent send queues (sending_queue.storage:), and stateful-processor decision caches. One bbolt file per consumer; directory must exist unless create_directory: true. Not placed in a pipeline — listed under service.extensions: and referenced by other components. | |
prometheus (receiver) | components/prometheus/README.md | receiver | metrics | Beta | Scrapes Prometheus-format HTTP endpoints and converts them to OTLP metrics, embedding prometheus/prometheus's scrape manager — the config: block is the same YAML as prometheus.yml (global, scrape_configs, scrape_config_files, service discovery, relabeling). Extra keys: trim_metric_suffixes, target_allocator (sharded targets from the OTel Operator), api_server (debug API). Scrape-only: rejects remote_write/remote_read/rule_files/alerting. Stateful, does not auto-shard across replicas. | |
prometheus (exporter) | components/prometheus_exporter/README.md | exporter | metrics | Beta | Exposes pipeline metrics for Prometheus to scrape. In-memory accumulator expires stale series after 5m. v0.160 adds resource_constant_labels and deprecates resource_to_telemetry_conversion; add_metric_suffixes remains deprecated in favor of translation_strategy. | |
prometheus_remote_write (exporter) | components/prometheus_remote_write/README.md | exporter | metrics | Beta | Pushes OTLP metrics as P |
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/otel-collector/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ollygarden/opentelemetry-agent-skills/otel-collector)