# OTel Collector (/docs/runtime/components/otel-collector)



Component Category [#component-category]

Telemetry and instrumentation / collection and routing

Component Description [#component-description]

OTel Collector is the platform's deployment of the OpenTelemetry Collector (`opentelemetry-collector-contrib` distribution), running as a standalone gateway. It receives OTLP traces, metrics, and logs over gRPC and HTTP, applies batching and memory-limiting processors, and routes each signal type to the appropriate backend.

This is the receiving and routing layer of the telemetry pipeline. Application-level instrumentation and SDK usage are covered separately in [OpenTelemetry](/docs/coreai/components/open-telemetry).

Why It Is Used [#why-it-is-used]

In BullSequana AI Runtime, OTel Collector centralizes telemetry ingestion so that instrumented services only need to know a single OTLP endpoint, instead of integrating separately with `Prometheus`, `Grafana Loki`, and `Grafana Tempo`. It also enriches every signal with consistent resource attributes (`deployment.environment`, `cluster.name`) before export, and protects the observability backends from ingestion spikes through batching and a memory limiter.

Learn More [#learn-more]

* [OpenTelemetry Collector documentation](https://opentelemetry.io/docs/collector/)
* [open-telemetry/opentelemetry-collector-contrib on GitHub](https://github.com/open-telemetry/opentelemetry-collector-contrib)

Pipeline configuration [#pipeline-configuration]

The collector runs in `deployment` mode (a standalone Deployment, not a per-node DaemonSet) and exposes an OTLP receiver on ports `4317` (gRPC) and `4318` (HTTP). Three signal pipelines are configured, each sharing the same `memory_limiter`, `resource`, and `batch` processors:

| Signal  | Exporter        | Destination                                           |
| ------- | --------------- | ----------------------------------------------------- |
| Traces  | `otlp/tempo`    | `Grafana Tempo`                                       |
| Metrics | `prometheus`    | Scraped by `Prometheus` via a `ServiceMonitor`        |
| Logs    | `otlphttp/logs` | `Grafana Loki` (via the Loki gateway's OTLP endpoint) |

The collector also exposes its own Prometheus metrics endpoint (`:8889`) so its internal health and throughput can be monitored like any other platform service.

Deployment notes [#deployment-notes]

OTel Collector deploys as a single-replica Deployment in the `otel-collector` namespace at sync wave 10 in the common tier. It runs the `opentelemetry-collector-contrib` distribution in deployment mode, not as a per-node DaemonSet.

Interacts With [#interacts-with]

* `OpenTelemetry` instrumented services (`CoreAI API`, `Model Installer`, `CoreAI Web Portal`, and others), which emit OTLP traces, metrics, and logs to this collector.
* `Grafana Tempo`, which receives exported traces via OTLP/gRPC.
* `Grafana Loki`, which receives exported logs via the OTLP/HTTP logs endpoint.
* `Prometheus`, which scrapes the collector's Prometheus exporter for metrics.
* `Grafana`, which visualizes the metrics, logs, and traces routed through this collector.
