中文  |  English

# OpenTelemetry OTLP Ingestion DataBuff is an open-source, AI-native OpenTelemetry APM backend. The **Ingest** service accepts telemetry over **OTLP** (OpenTelemetry Protocol) and stores it for tracing, service metrics, topology, and AI-assisted troubleshooting in the Web UI. ## Supported signals | Signal | OTLP gRPC (4317) | OTLP HTTP (4318) | |--------|------------------|------------------| | Traces | Yes | Yes (`/v1/traces`) | | Metrics | Yes | Yes (`/v1/metrics`) | | Logs | Yes | Yes (`/v1/logs`) | ## Compression OTLP exporters / the OpenTelemetry Collector enable **`gzip` by default**. DataBuff Ingest accepts the encodings below — you do **not** need `compression: none`. | Protocol | Supported compression | |----------|------------------------| | OTLP/gRPC | `none`, `gzip` (default), `snappy`, `zstd` | | OTLP/HTTP | `none`, `gzip` (default), `zstd`, `zlib`, `deflate`, `snappy`, `x-snappy-framed`, `lz4` | Collector example (`compression` can be omitted to use default gzip): ```yaml exporters: otlp: endpoint: ":4317" tls: insecure: true # compression: gzip # default; or snappy / zstd / none otlphttp: endpoint: "http://:4318" # compression: gzip ``` ## Prerequisites Install DataBuff (Docker or Kubernetes). After installation, note the host where **Ingest** is reachable and the OTLP ports (default **4317** gRPC, **4318** HTTP). - [Docker installation](快速入门/docker安装部署_en.md) - [Kubernetes installation](快速入门/k8s安装部署_en.md) - [Live demo](https://demo.databuff.ai) ## Endpoints Replace `` with your Ingest hostname or IP (same host as the install script reports). | Protocol | Endpoint | Notes | |----------|----------|-------| | OTLP/gRPC | `:4317` | Recommended for agents and Collector | | OTLP/HTTP | `http://:4318` | Use `/v1/traces` and `/v1/metrics` paths when configuring per-signal exporters | Default Docker install exposes both ports on the host running `docker compose`. ## Application SDK (environment variables) Most OpenTelemetry SDKs accept: ```bash export OTEL_EXPORTER_OTLP_ENDPOINT="http://:4318" export OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf" # or for gRPC: # export OTEL_EXPORTER_OTLP_ENDPOINT="http://:4317" # export OTEL_EXPORTER_OTLP_PROTOCOL="grpc" export OTEL_SERVICE_NAME="my-service" ``` Send traces and metrics from your instrumented application; open the Web UI (`http://:27403`) to view service topology and traces. ## OpenTelemetry Collector Forward OTLP from a Collector to DataBuff Ingest: ```yaml receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: otlp: endpoint: ":4317" tls: insecure: true # or OTLP/HTTP: # otlphttp: # endpoint: "http://:4318" service: pipelines: traces: receivers: [otlp] exporters: [otlp] metrics: receivers: [otlp] exporters: [otlp] logs: receivers: [otlp] exporters: [otlp] ``` For logs, set in your SDK: ```bash export OTEL_LOGS_EXPORTER=otlp ``` For TLS-terminated or remote deployments, point exporters at the reachable OTLP URL and configure TLS on your reverse proxy. ## Verify ingestion 1. Install the optional [Demo app](快速入门/docker安装部署_en.md#_3-install-the-demo-optional) — it reports sample traces to Ingest. 2. In the Web UI, open **Application Performance** and confirm services and traces appear within a few minutes. For how data is stored and queried, see [Telemetry Pipeline and Storage](架构设计/遥测数据流_en.md). ## Related docs - [eBPF Ingestion](使用手册/eBPF接入_en.md) — OBI DaemonSet, zero-instrumentation HTTP / gRPC - [Nginx Ingestion](使用手册/Nginx接入_en.md) — `ngx_otel_module` entry traces - [Spring Boot OTLP Integration](快速入门/spring-boot-otlp-integration_en.md) - [SkyWalking Ingestion](使用手册/SkyWalking接入_en.md) ## Open source - Repository: [github.com/databufflabs/databuff](https://github.com/databufflabs/databuff) - License: [AGPL-3.0](https://github.com/databufflabs/databuff/blob/main/LICENSE)