|
| 1 | +The Tinybird OpenTelemetry Template lets you instrument your apps using your pre-existing OpenTelemetry data while leveraging Tinybird's real-time features. |
| 2 | + |
| 3 | +By integrating OpenTelemetry with Tinybird, you can analyze observability data in real time, build dashboards, and enrich it with other data sources. |
| 4 | + |
| 5 | +Some common use cases for sending OpenTelemetry data to Tinybird include: |
| 6 | + |
| 7 | +1. Centralizing metrics, traces, and logs for unified analytics. |
| 8 | +2. Building custom dashboards and alerts on top of observability data. |
| 9 | +3. Enriching telemetry with business or application data. |
| 10 | + |
| 11 | +Read on to learn how to send data from OpenTelemetry to Tinybird. |
| 12 | + |
| 13 | +## Before you start |
| 14 | + |
| 15 | +Before you connect OpenTelemetry to Tinybird, ensure you are running the Tinybird distribution of the OpenTelemetry Collector. |
| 16 | + |
| 17 | +You can find the latest release of the Tinybird OpenTelemetry Collector here: |
| 18 | + |
| 19 | +* [GitHub Releases](https://github.com/tinybirdco/opentelemetry-collector-contrib/releases) |
| 20 | +* [Docker Hub](https://hub.docker.com/r/tinybirdco/opentelemetry-collector-contrib/tags) |
| 21 | + |
| 22 | +## Setup the template |
| 23 | + |
| 24 | +Fork the GitHub repository and deploy the data project to Tinybird. |
| 25 | + |
| 26 | +```bash |
| 27 | +# select or create a new workspace |
| 28 | +tb login |
| 29 | + |
| 30 | +# deploy the template |
| 31 | +tb --cloud deploy --template https://github.com/tinybirdco/tinybird-otel-template/tree/main/ |
| 32 | +``` |
| 33 | + |
| 34 | +## Example OpenTelemetry Collector configuration |
| 35 | + |
| 36 | +Below is an example configuration for the Tinybird OpenTelemetry Collector to export metrics, traces, and logs to Tinybird: |
| 37 | + |
| 38 | +```yaml |
| 39 | +receivers: |
| 40 | + otlp: |
| 41 | + protocols: |
| 42 | + grpc: |
| 43 | + http: |
| 44 | + |
| 45 | +processors: |
| 46 | + batch: |
| 47 | + timeout: 10s |
| 48 | + send_batch_size: 8192 |
| 49 | + |
| 50 | +exporters: |
| 51 | + tinybird: |
| 52 | + endpoint: ${OTEL_TINYBIRD_API_HOST} |
| 53 | + token: ${OTEL_TINYBIRD_TOKEN} |
| 54 | + metrics_sum: |
| 55 | + datasource: otel_metrics_sum |
| 56 | + metrics_histogram: |
| 57 | + datasource: otel_metrics_histogram |
| 58 | + metrics_exponential_histogram: |
| 59 | + datasource: otel_metrics_exponential_histogram |
| 60 | + metrics_gauge: |
| 61 | + datasource: otel_metrics_gauge |
| 62 | + traces: |
| 63 | + datasource: otel_traces |
| 64 | + logs: |
| 65 | + datasource: otel_logs |
| 66 | + |
| 67 | +service: |
| 68 | + pipelines: |
| 69 | + metrics: |
| 70 | + receivers: [otlp] |
| 71 | + processors: [batch] |
| 72 | + exporters: [tinybird] |
| 73 | + |
| 74 | + traces: |
| 75 | + receivers: [otlp] |
| 76 | + processors: [batch] |
| 77 | + exporters: [tinybird] |
| 78 | + |
| 79 | + logs: |
| 80 | + receivers: [otlp] |
| 81 | + processors: [batch] |
| 82 | + exporters: [tinybird] |
| 83 | +``` |
| 84 | +
|
| 85 | +### Environment variables |
| 86 | +
|
| 87 | +* `OTEL_TINYBIRD_API_HOST`: The API host for your Tinybird workspace (e.g., `https://api.tinybird.co`). |
| 88 | +* `OTEL_TINYBIRD_TOKEN`: A Tinybird token with **append** permissions to the target Data Sources (`otel_metrics`, `otel_traces`, `otel_logs`). |
0 commit comments