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
- A Bronto account and API key (how to create one)
- A Heroku Fir-generation app
- The Heroku CLI installed and authenticated
Add the telemetry drain
Add a drain on your app pointing at Bronto’s ingestion endpoint:<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 withheroku 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 listslogs,metrics, andtraces. - Getting 401 errors? Verify the
x-bronto-api-keyvalue is a valid Bronto key with the Ingestion role. - Wrong dataset or collection? Check the
x-bronto-datasetandx-bronto-collectionheaders in the drain’s--headersJSON.

