Bronto currently supports OpenTelemetry logs and traces over OTLP/HTTP. Metrics ingestion is not yet available — configure only the logs and traces signals when setting up the options below.
Choosing an Approach
| Approach | Best for | Notes |
|---|---|---|
| Self-managed OTel Collector (recommended) | AKS, VMs, Container Instances, Container Apps | Sends logs and traces directly to Bronto with full control over processing, routing, and fan-out. |
| OpenTelemetry SDK | Any runtime (App Service, Functions, etc.) | The vendor-neutral OpenTelemetry SDK and auto-instrumentation, exporting OTLP directly to Bronto. |
| Azure Monitor OpenTelemetry Distro | Teams already using Application Insights | Microsoft’s SDK distro — a convenient option if you already run Application Insights and want to forward the same data to Bronto. See the dedicated page. |
Bronto Ingestion Endpoints
| Signal | EU Region | US Region |
|---|---|---|
| Logs | https://ingestion.eu.bronto.io/v1/logs | https://ingestion.us.bronto.io/v1/logs |
| Traces | https://ingestion.eu.bronto.io/v1/traces | https://ingestion.us.bronto.io/v1/traces |
The
/v1/logs and /v1/traces endpoints accept OTLP protobuf over HTTP only (not OTLP/gRPC). Bronto does not yet accept OpenTelemetry metrics. OpenTelemetry SDKs and collectors handle protobuf serialisation automatically — do not send plain JSON or HTTP requests directly to these paths.Self-Managed OpenTelemetry Collector
Running your own OpenTelemetry Collector is the recommended approach: it sends logs and traces straight to Bronto, without routing your data through any other vendor, and gives you:- Full configuration control — custom processors, attribute transformation, or sampling rules
- Fan-out — forwarding the same telemetry to multiple backends simultaneously
- Existing OTel infrastructure — you already operate a collector fleet and want to add Bronto as an exporter
- Advanced routing — sending different log types or services to different Bronto datasets or collections
Application logs and traces can be sent directly to Bronto’s ingestion endpoints, but routing through a collector is strongly recommended. The collector handles retries on failure and batches and compresses payloads, improving reliability and reducing cost.
Supported sources
A self-managed Collector can run anywhere you control compute, and supports any source that has an OpenTelemetry receiver:| Service / Source | Data types |
|---|---|
| Azure Virtual Machines / VM Scale Sets | Application logs and traces |
| Azure Kubernetes Service (AKS) | Application logs and traces (DaemonSet or Deployment) |
| Azure Container Apps | Application logs and traces (Collector container) |
| Azure Container Instances (ACI) | Application logs and traces (sidecar container) |
| Any Azure workload reachable from the Collector | Logs / traces via OTLP, file, Kafka, Event Hub, and other OTel receivers |
The Collector forwards only what it receives — deploying it does not automatically collect your logs. If you aren’t seeing all the logs you expect:
- Application logs and traces require instrumenting your app with the OpenTelemetry SDK, or tailing its log files with the
filelogreceiver. - Azure platform and diagnostic logs (resource logs, activity logs) are not collected by the Collector — they are exported through Azure Monitor diagnostic settings via the Event Hub Forwarder.
Collector configuration
The core Bronto exporter configuration is the same regardless of how you deploy the collector on Azure. For full installation instructions and parameter reference, see the OpenTelemetry Collector guide. The minimal configuration to export both logs and traces to Bronto:<REGION> with eu or us and <YOUR_API_KEY> with your Bronto API key. Bronto does not ingest metrics, so the configuration defines only logs and traces pipelines.
Deployment options on Azure
Azure Kubernetes Service (AKS)
Deploy as a DaemonSet (one collector per node) for node-level log collection, or as a Deployment behind a ClusterIP service for centralised collection. The simplest path is the OpenTelemetry Helm chart:k8sattributes processor to enrich logs and traces with pod, namespace, and node metadata, and set x-bronto-collection to the cluster name to identify the source cluster in Bronto. See the OpenTelemetry Collector guide for a complete values.yaml example.
Azure Virtual Machines / VM Scale Sets
Install the OpenTelemetry Collector directly on your VMs following the official installation guide. Place your config at/etc/otel/config.yaml and run the collector as a systemd service. For VM Scale Sets, bake the collector into your image or install it via a custom-script extension or cloud-init so every instance starts the collector on boot.
Azure Container Apps
Run the OpenTelemetry Collector as its own container app and have your other apps export OTLP to it; the Collector forwards logs and traces to Bronto over OTLP/HTTP. Alternatively, instrument each app with the OpenTelemetry SDK to export to Bronto directly.The Container Apps environment’s built-in managed OpenTelemetry agent exports only over OTLP/gRPC, which Bronto’s ingestion endpoint does not accept — so it can’t deliver to Bronto directly. Use a Collector container or direct SDK export instead.
Azure Container Instances (ACI)
Run the collector as a sidecar container within the same container group as your application. Both containers share the group’s network namespace, so the app exports OTLP tolocalhost:4317 (gRPC) or localhost:4318 (HTTP). Use the standard otel/opentelemetry-collector-contrib image and provide your config via a mounted Azure Files share or a secret volume.
Collecting from Windows hosts
Windows workloads are common on Azure — VMs and VM Scale Sets, App Service on Windows plans, and Windows node pools on AKS. Windows hosts produce two distinct kinds of logs: Windows Event Log entries (collected with thewindowseventlog receiver) and file-based logs such as IIS and SQL Server (collected with the filelog receiver). The same Collector you run for Linux workloads — including as an AKS DaemonSet on Windows nodes — can collect both.
See Collecting Windows OS Logs for the receiver configuration, the channels worth collecting, XPath filtering for noisy channels, Windows filelog gotchas (encoding, multi-line stack traces), and installing the Collector as a Windows service.
Azure Monitor OpenTelemetry Distro
If you already use Microsoft’s Azure Monitor OpenTelemetry Distro with Application Insights, you can also forward the same logs and traces to Bronto by adding an OTLP exporter. See the dedicated page for details.Data Organization
Bronto mapsservice.name to a Dataset and service.namespace to a Collection — see Data Organization for how datasets, collections, and tags work.
Set these as resource attributes in your SDK or collector config:
| Header | Description |
|---|---|
x-bronto-dataset | Overrides service.name |
x-bronto-collection | Overrides service.namespace |
x-bronto-tags | Comma-separated tags to attach to events |
x-bronto-collection to your cluster name (e.g. cluster1-prod-eu-west-1) to identify the source cluster in Bronto.
For assistance or questions, contact support@bronto.io.

