
Sentry Otel Exporter Setup
Configure OpenTelemetry Collector to export traces and logs to Sentry with multi-project routing and automatic project creation.
Install
npx skills add https://github.com/getsentry/sentry-for-ai --skill sentry-otel-exporter-setupWhat is this skill?
- Configure OTel Collector with Sentry Exporter
- Multi-project routing and auto project creation
- Support for traces and logs pipelines
Adoption & trust: 1.1k installs on skills.sh; 197 GitHub stars; 2/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Journey fit
This tool belongs in the build phase where developers integrate observability infrastructure into their systems. Integrations is the right subphase because this tool connects OpenTelemetry Collector with Sentry, bridging two observability platforms.
Common Questions / FAQ
Is Sentry Otel Exporter Setup safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Sentry Otel Exporter Setup
> [All Skills](../../SKILL_TREE.md) > [Feature Setup](../sentry-feature-setup/SKILL.md) > OTel Exporter # Sentry OTel Exporter Setup **Terminology**: Always capitalize "Sentry Exporter" when referring to the exporter component. Configure the OpenTelemetry Collector to send traces and logs to Sentry using the Sentry Exporter. ## Setup Overview Copy this checklist to track your progress: ``` OTel Exporter Setup: - [ ] Step 1: Check for existing configuration - [ ] Step 2: Check collector version and install if needed - [ ] Step 3: Configure project creation settings - [ ] Step 4: Write collector config - [ ] Step 5: Add environment variable placeholders - [ ] Step 6: Run the collector - [ ] Step 7: Verify setup - [ ] Step 8: Enable trace connectedness with OTLPIntegration (Python/Ruby/Node.js) ``` ## Step 1: Check for Existing Configuration Search for existing OpenTelemetry Collector configs by looking for YAML files containing `receivers:`. Also check for files named `otel-collector-config.*`, `collector-config.*`, or `otelcol.*`. **If an existing config is found**: Ask the user which approach they want: - **Modify existing config**: Add Sentry Exporter to the existing file (recommended to avoid duplicates) - **Create separate config**: Keep existing config unchanged and create a new one for testing **Wait for the user's answer and record their choice before proceeding to Step 2.** The rest of the workflow depends on this decision. **If no config exists**: Note that you'll create a new `collector-config.yaml` in Step 4, then proceed to Step 2. ## Step 2: Check Collector Version The Sentry Exporter requires **otelcol-contrib v0.145.0 or later**. ### Check for existing collector 1. Run `which otelcol-contrib` to check if it's on PATH, or check for `./otelcol-contrib` in the project 2. If found, run the appropriate version command and parse the version number 3. **Record the collector path** (e.g., `otelcol-contrib` if on PATH, or `./otelcol-contrib` if local) for use in later steps | Existing Version | Action | |------------------|--------| | ≥ 0.145.0 | Skip to Step 3 — existing collector is compatible | | < 0.145.0 | Proceed with installation below | | Not installed | Proceed with installation below | ### Installation Ask the user how they want to run the collector: - **Binary**: Download from GitHub releases. No Docker required. - **Docker**: Run as a container. Requires Docker installed. ### Binary Installation Fetch the latest release version from GitHub: ```bash curl -s https://api.github.com/repos/open-telemetry/opentelemetry-collector-releases/releases/latest | grep '"tag_name"' | cut -d'"' -f4 ``` **Important**: The GitHub API returns versions with a `v` prefix (e.g., `v0.145.0`). The download URL path requires the full tag with `v` prefix, but the filename and Docker tags use the numeric version without the prefix (e.g., `0.145.0`). Detect the user's platform and download the binary: 1. Run `uname -s` and `uname -m` to detect OS and architecture 2. Map to release values: - Darwin + arm64 → `darwin_arm64` - Darwin + x86_64 → `darwin_amd64` - Linux + x86_64 → `linux_amd64` - Linux + aarch64 → `linux_arm64` 3. Download and extract: ```bash curl -LO https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v<numeric_version>/otelcol-contrib_<numeric_version>_<os>_<arch>.tar.gz tar -xzf otelcol-contrib_<numeric_version>_<os>_<arch>.tar.gz chmod +x otelcol-contrib ``` Example: For version `v0.145.0`, the URL uses `v0.145.0` in the path but `