> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sazabi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenTelemetry Collector

> Add an otlphttp exporter to your OpenTelemetry Collector configuration to forward logs and traces from your infrastructure to Sazabi.

[All OpenTelemetry integration capabilities](https://docs.sazabi.com/catalogs/integrations/opentelemetry)

## About

Add a Sazabi exporter to your OpenTelemetry Collector pipeline to forward logs and traces from any existing receiver — Kubernetes container logs, Jaeger, or anything else in the Collector ecosystem. Sazabi acts as an additional OTLP/HTTP destination alongside your existing exporters.

Metrics are not stored by this source. Use [OpenTelemetry Metrics](https://docs.sazabi.com/catalogs/log-sources/send-to-an-endpoint/opentelemetry-metrics.md) for metric data.

## Prerequisites

* A running OpenTelemetry Collector deployment (Kubernetes DaemonSet, sidecar, or standalone binary)
* Your Sazabi intake URL, shown above — open the log source and copy the **Intake URL** from its setup screen (the public key is embedded in the URL).

## Set up in the dashboard

**Step 1**

### Add the Sazabi exporter to your Collector config

Add an `otlphttp/sazabi` exporter to your `otelcol.yaml` and wire it into your logs and traces pipelines:

```yaml title="otelcol.yaml" theme={"system"}
receivers:
  filelog:
    include: [/var/log/pods/*/*/*.log]
    start_at: beginning
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  otlphttp/sazabi:
    endpoint: <your intake URL>

service:
  pipelines:
    logs:
      receivers: [filelog]
      exporters: [otlphttp/sazabi]
    traces:
      receivers: [otlp]
      exporters: [otlphttp/sazabi]
```

Replace `<your intake URL>` with the intake URL shown above. The URL already encodes your project public key; no additional headers are required.

For Kubernetes deployments using Helm, add the exporter under `config.exporters` in your values file and add `otlphttp/sazabi` to your pipeline exporter lists.

**Step 2**

### Adjust receivers to match your sources

Replace the example receivers with the ones your infrastructure actually uses. Common configurations:

* **Kubernetes pod logs** — keep the `filelog` receiver pointed at `/var/log/pods`
* **Application traces** — keep the `otlp` receiver or add a `jaeger` receiver
* **Host metrics** — add the `hostmetrics` receiver (metrics will not be stored; use the OpenTelemetry Metrics source for that pipeline)

You can add `otlphttp/sazabi` to any existing pipeline exporter list alongside your current exporters — the Collector fans out to all configured destinations.

**Step 3**

### Hand off the change

If this configuration is version-controlled, commit it on a new branch, push it, and open a pull request. Otherwise apply it directly to your Collector deployment. Keep the intake URL and any keys in environment variables or a secret store, and commit only configuration that references them.

## Set up with the CLI

You can also register the OpenTelemetry Collector log source with the [Sazabi CLI](https://docs.sazabi.com/reference/cli.md) (installed and authenticated — see [CLI reference](https://docs.sazabi.com/reference/cli/log-sources.md)).

Registering the source mints the same intake URL the dashboard shows above (the public key is embedded in its hostname):

```bash theme={"system"}
sazabi log-sources create otel_collector --mode manual
```

The command prints the intake URL for the new source — copy the whole URL and point your sender at it using the configuration shown above. Run `sazabi log-sources get <log-source-id>` at any time to reprint the endpoint, or `sazabi log-sources list` to see every log source in the project.

## Verify

Restart or redeploy the Collector after updating the configuration. Open the [Intake page](https://docs.sazabi.com/guides/instrument/intake.md) in the Sazabi dashboard and confirm records from the **OpenTelemetry Collector** source appear within a minute or two.

## Troubleshooting

**No records after redeploying** — Check Collector logs for TLS, DNS, or authentication errors on the `otlphttp/sazabi` exporter. Confirm the intake URL starts with `https://` and is the full URL from above (not the hostname alone).

**Logs arrive but traces do not** — Verify `otlphttp/sazabi` is listed in the `traces` pipeline exporter list, not only the `logs` pipeline.

**Metrics are not stored** — This source does not store OpenTelemetry metrics. Use [OpenTelemetry Metrics](https://docs.sazabi.com/catalogs/log-sources/send-to-an-endpoint/opentelemetry-metrics.md) for a metrics pipeline.

## Further reading

> [card] [Intake](https://docs.sazabi.com/guides/instrument/intake.md)
>
> See per-source ingestion volume and health.

> [card] [Log sources](https://docs.sazabi.com/catalogs/log-sources.md)
>
> Browse the full log source catalog.

> [card] [Send Kubernetes audit logs](https://docs.sazabi.com/guides/instrument/kubernetes-audit-logs.md)
>
> Send self-managed cluster audit logs through a Collector.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.