Last update: 2025-09-15T11:35:05.000Z
Content:
---
title: "Ingest from OpenTelemetry · Tinybird Docs"
theme-color: "#171612"
description: "Learn how to ingest metrics, traces, and logs from OpenTelemetry into Tinybird using the Tinybird OpenTelemetry Collector distribution."
inkeep:version: "forward"
---




# Ingest from OpenTelemetry [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#ingest-from-opentelemetry)

Copy as MD [OpenTelemetry](https://opentelemetry.io/) is an open-source observability framework for collecting, processing, and exporting telemetry data (metrics, traces, and logs) from your applications and infrastructure.

By integrating OpenTelemetry with Tinybird, you can analyze observability data in real time, build dashboards, and enrich it with other data sources.

Some common use cases for sending OpenTelemetry data to Tinybird include:

1. Centralizing metrics, traces, and logs for unified analytics.
2. Building custom dashboards and alerts on top of observability data.
3. Enriching telemetry with business or application data.

Read on to learn how to send data from OpenTelemetry to Tinybird.

## Before you start [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#before-you-start)

Before you connect OpenTelemetry to Tinybird, ensure:

- You have a Tinybird workspace.
- You have a Tinybird Token with**  append**   permissions to the target Data Sources.
- You are running a release version of the OpenTelemetry Collector higher than release v0.131.0.

- [  GitHub Releases](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases)
- [  Docker Hub](https://hub.docker.com/r/otel/opentelemetry-collector-contrib)

The Tinybird OpenTelemetry Exporter is officially available in the OpenTelemetry Collector Contrib repository as of release v0.131.0. You can use the official OpenTelemetry Collector distributions that include the Tinybird exporter out of the box.

## Use the Tinybird OpenTelemetry project template [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#use-the-tinybird-opentelemetry-project-template)

To get started quickly, you can use the [Tinybird OpenTelemetry project template](https://www.tinybird.co/templates/opentelemetry) . This template provides ready-to-use Data Sources and Pipes for storing and analyzing your telemetry data in Tinybird.

# select or create a new workspace
tb login

# deploy the template
tb --cloud deploy --template https://github.com/tinybirdco/tinybird-otel-template/tree/main/
## Recommended OpenTelemetry Collector configuration [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#recommended-opentelemetry-collector-configuration)

Below is an example configuration for the Tinybird OpenTelemetry Collector to export metrics, traces, and logs to Tinybird:

##### config.yaml

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:
    timeout: 10s
    send_batch_size: 8192

exporters:
  tinybird:
    endpoint: ${OTEL_TINYBIRD_API_HOST}         # Your Events API endpoint, e.g. https://api.us-east.aws.tinybird.co
    token: ${OTEL_TINYBIRD_TOKEN}               # Token with append permissions
    sending_queue:
      enabled: true
      queue_size: 104857600                # Total memory buffer in bytes (100 MB)
      sizer: bytes
      batch:
        flush_timeout: 5s                  # Max wait time before flushing
        min_size: 1024000                  # Min batch size: 1 MB
        max_size: 8388608                  # Max batch size: 8 MB (Events API limit is 10 MB)
    retry_on_failure:
      enabled: true
    metrics:
      sum:
        datasource: otel_metrics_sum
      histogram:
        datasource: otel_metrics_histogram
      exponential_histogram:
        datasource: otel_metrics_exponential_histogram
      gauge:
        datasource: otel_metrics_gauge
    logs:
      datasource: otel_logs
    traces:
      datasource: otel_traces

service:
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [tinybird]

    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [tinybird]

    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [tinybird]
### Environment variables [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#environment-variables)

- `OTEL_TINYBIRD_API_HOST`   : The API host for your Tinybird workspace (e.g., `https://api.tinybird.co`   ).
- `OTEL_TINYBIRD_TOKEN`   : A Tinybird token with**  append**   permissions to the target Data Sources ( `otel_metrics`  , `otel_traces`  , `otel_logs`   ).

You can create a token in the Tinybird UI under **Tokens** . Make sure it has the required append permissions for the Data Sources you want to ingest into.

### Run the Collector [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#run-the-collector)

#### Using the binary [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#using-the-binary)

Precompiled binaries for Linux and macOS are available for both `amd64` and `arm64` architectures.

Download them from the [GitHub Releases page](https://github.com/tinybirdco/opentelemetry-collector-contrib/releases).

./otelcontribcol_linux_amd64 --config config.yaml
#### Using Docker [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#using-docker)

docker run \
  --platform linux/amd64 \
  -v $(pwd)/config.yaml:/etc/otelcol-contrib/config.yaml \
  -p 4317:4317 \
  -p 4318:4318 \
  -e OTEL_TINYBIRD_API_HOST="${OTEL_TINYBIRD_API_HOST}" \
  -e OTEL_TINYBIRD_TOKEN="${OTEL_TINYBIRD_TOKEN}" \
  tinybirdco/opentelemetry-collector-contrib:v0.128.0 Use the `--platform linux/amd64` flag to ensure compatibility when running on ARM-based systems like Apple Silicon Macs.

### Troubleshooting [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#troubleshooting)

To troubleshoot your setup, edit your `config.yaml` to enable detailed logging from the Collector. You can also check the [Tinybird Service Data Sources](/docs/forward/monitoring/service-datasources) to confirm data is arriving in your Workspace.

To enable detailed logging, define the `debug` exporter and add it to your service pipelines:

##### config.yaml

#(...)
exporters:
  debug:
    verbosity: detailed
exporters:
  tinybird:
    endpoint: ${OTEL_TINYBIRD_API_HOST}

#(...)
service:
  pipelines:
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [debug,tinybird]
#(...) You can send mock data with [otelgen](https://github.com/krzko/otelgen).

## Next steps [¶](https://www.tinybird.co/docs/forward/get-data-in/guides/ingest-from-opentelemetry#next-steps)

- Explore and customize the[  Tinybird OpenTelemetry project template](https://github.com/tinybirdco/tinybird-otel-template)   to fit your needs.
- Run the official[  opentelemetry-demo](https://github.com/tinybirdco/opentelemetry-demo)   locally.
- Connect to[  Grafana](/forward/get-started/integrations?category=Observability+%2526+Logs)   , HyperDX and other[  visualization tools](/forward/get-started/integrations?category=BI+%2526+Visualization)  .

For more details on the available configuration options, see the [Tinybird OpenTelemetry Collector documentation](https://github.com/tinybirdco/opentelemetry-collector-contrib).


