Skip to main content

Overview

Heroku’s Fir generation exports logs, metrics, and traces as OpenTelemetry signals. A telemetry drain forwards all three straight to Bronto — no Logplex, proxy, or intermediate Collector.

Prerequisites

Add the telemetry drain

Add a drain on your app pointing at Bronto’s ingestion endpoint:
Set <REGION> to eu or us. Heroku appends the signal-specific OTLP paths. Telemetry drains are additive, so this adds Bronto alongside existing drains. You can select a subset of signals if needed.
Bronto metrics ingestion is in public beta. Exponential histograms are not supported, and the Metric Explorer does not currently provide a Rate function.

Verify in Bronto

Open Search for logs, Metric Explorer for metrics, and Explore Traces for spans. Generate activity in your app and confirm all configured signals arrive. List drains with heroku telemetry --app <YOUR_APP_NAME>.

What you will see in Bronto

Logs arrive as OTLP records carrying the app’s stdout/stderr output plus Heroku resource attributes — service.name, severity, and timestamp. Platform logs (router, build, and dyno lifecycle events) are included alongside your application output.

Troubleshooting

  • Missing signals? Run heroku telemetry --app <YOUR_APP_NAME> and confirm the drain lists logs, metrics, and traces.
  • Getting 401 errors? Verify the x-bronto-api-key value is a valid Bronto key with the Ingestion role.
  • Wrong dataset or collection? Check the x-bronto-dataset and x-bronto-collection headers in the drain’s --headers JSON.