Skip to main content
LogBrew accepts the OpenTelemetry protocol (OTLP) over HTTP. Any OpenTelemetry SDK, the OpenTelemetry Collector, or another OTLP exporter can send logs, traces, and metrics to LogBrew. You do not need a LogBrew SDK. LogBrew stores OTLP data as SDK data. You read it in the dashboard, the CLI, and the MCP server in the same way. The same usage, plan limits, and rate limits apply.

Endpoints

Send the request body as application/x-protobuf or application/json. You can compress the body with Content-Encoding: gzip. Send a project ingest key in 1 of these 2 headers:
  • x-logbrew-key: lbw_ingest_...
  • Authorization: Bearer lbw_ingest_...
Use a server key for a service. The key kinds are in Project key kinds.

Configure an OpenTelemetry SDK

OpenTelemetry SDKs read the standard OTEL_* environment variables. Set the base endpoint. The SDK adds /v1/logs, /v1/traces, and /v1/metrics.
Keep the key in your secret store. Do not put it in source control.

Configure the OpenTelemetry Collector

Add an otlphttp exporter. Set the base endpoint. The exporter adds the signal path.

How LogBrew reads OTLP data

LogBrew reads these resource attributes into the event context: Other resource attributes and the instrumentation scope stay in the metadata of each event. LogBrew rejects non-monotonic delta sums. A log record or span keeps its trace ID and span ID, so logs show in their trace. LogBrew replaces credentials with [redacted] before it stores the data. This applies to attribute values whose keys name a credential, such as authorization, cookie, password, secret, api_key, or a key that ends in token. It also applies to process.command_args, process.command_line, the user and password in a URL, and URL query values such as token, code, key, and signature. Do not send other secrets.

Limits

The rate limits and plan limits of SDK data also apply. If a request has too many records, LogBrew stores the first records and rejects the rest. Send smaller batches.

Responses

LogBrew answers in the encoding of the request. When your account reaches its plan limit, LogBrew answers 200 with every record rejected. The message gives the reset time. The exporter does not try again before the reset. LogBrew reports rejected records in account usage. They show in sdk_dropped_events with the reason otlp_rejected_record, or usage_limit_exceeded at the plan limit. Rejected records do not count toward usage. LogBrew does not store the records of a resent request again. It finds a resent record by its content.

Check that data arrives

Send 1 log, span, or metric. Then read it back with a read key. Follow Read your test event back. If nothing arrives, read the exporter logs. The OTLP response gives the reason for each rejected request or record.