Skip to main content
The OpenTelemetry Collector forwards logs, metrics, and traces to Bronto via OTLP/HTTP. This page covers Collector configuration only. For installation instructions, see the OpenTelemetry Collector documentation. For SDK-based instrumentation, see Bronto’s language-specific OpenTelemetry guides.

Getting your data into the Collector

The Collector only forwards the telemetry it receives — deploying it does not automatically discover your logs. If you’ve configured the Collector but aren’t seeing all the logs you expect, the source usually hasn’t been wired up to send data to it yet. There are two categories of source:
  • Application logs, metrics, and traces — instrument your application with the OpenTelemetry SDK so it exports OTLP to the Collector (or directly to Bronto). See Ingest OpenTelemetry data for per-language setup. Alternatively, point the filelog receiver at the log files your application already writes.
  • Infrastructure and service logs — each source has its own setup. See Ingesting Infrastructure and Database Logs for the full list (Kubernetes, Docker, NGINX, databases, message brokers, and more), and Collecting Windows OS Logs for Windows Event Log and IIS.
The receiver examples on this page show the Collector-side plumbing; the source guides above show what each source emits and where it writes its logs.

Endpoints

Use the endpoints for your Bronto region: The OTel Collector uses service.name and service.namespace as shared resource identity across all three signals. For logs, Bronto also uses them to select the dataset and collection. Only the API key header is required; the rest are optional log-routing overrides:

Logs, metrics, and traces

Run all three pipelines through a single Collector. Tail log files via the filelog receiver, accept OTLP metrics and traces from your applications via the otlp receiver, and ship each signal to its Bronto endpoint.
The example uses the standard OTLP receiver ports: 4317 for gRPC and 4318 for HTTP. Applications on the same host commonly use localhost; containers, Kubernetes workloads, remote Collectors, and TLS-enabled deployments require an address and scheme appropriate to that environment. Keep the SDK exporter and Collector receiver settings aligned.
/etc/otel/config.yaml
The service.name and service.namespace resource attributes are used by Bronto to route logs to the correct dataset and collection. You can override them with the x-bronto-dataset and x-bronto-collection headers.
Bronto supports sums, gauges, summaries, and explicit histograms. Sum and histogram metrics can be ingested as delta or cumulative, but delta is strongly recommended to get the best value from the current set of supported functions. Exponential histograms are not supported, and the Metric Explorer does not currently provide a Rate function.
For signal-specific details, see Send Metrics to Bronto and Send Traces to Bronto.

Send only the signals you need

Collector pipelines are independent. To send only one signal or a subset, remove the unused signal pipelines and exporters. You do not need a separate Collector.

Windows hosts

On Windows, the filelog receiver picks up file-based logs (IIS, SQL Server, application files), but most platform and service diagnostics are written to the Windows Event Log and need the Windows-only windowseventlog receiver instead. See Collecting Windows OS Logs for the receiver configuration, the event channels worth collecting, XPath filtering for noisy channels, Windows filelog gotchas (UTF-16 encoding, multi-line stack traces), and running the Collector as a Windows service.

Parsing unstructured logs

Rather than building parser operators in the Collector for unstructured text, ship raw log lines to Bronto and use the Bronto Custom Parser to extract structured fields server-side. The Custom Parser uses LLMs to generate parsers automatically and ships with built-in support for Apache, IIS, HAProxy, Syslog, key-value, and custom formats — no regex maintenance required.

Kubernetes

For Kubernetes deployments, install the Collector using the OpenTelemetry Helm chart.
Use the x-bronto-collection header to identify the cluster (e.g. cluster1-prod-us-east-1). Bronto infers dataset/service names from log attributes and span resources, so per-service routing is handled automatically.
values.yaml
The k8sattributes processor enriches logs, metrics, and traces with pod, namespace, and node metadata. See the OpenTelemetry Demo Kubernetes deployment guide for further context on backend configuration.

Verify delivery

Once your configuration is applied and the Collector is restarted:

Further reading