json-file logging driver. The same Collector can also forward traces and metrics from your apps — see Connect OpenTelemetry Collector to Bronto.
Prerequisites
- A Bronto account and API key (how to create one)
- Docker using the default
json-filelogging driver (logs at/var/lib/docker/containers/*/*-json.log) - An OpenTelemetry Collector (recommended) or Fluent Bit — run it as a container alongside your services
Run the Collector
Add the Collector to yourdocker-compose.yml and give it read access to Docker’s container log directory:
docker-compose.yml
otel-config.yaml
<REGION> to eu or us.
What you will see in Bronto
Open Search and filter byservice.name. Docker’s json-file driver wraps each line as {"log": "...", "stream": "stdout|stderr", "time": "..."}; the json_parser operator promotes those into fields, so you get the container’s message, the stream, and a timestamp. Bronto’s Custom Parser extracts further structure from the message body.
Troubleshooting
- No logs? Confirm the driver is
json-file(docker inspect -f '{{.HostConfig.LogConfig.Type}}' <container>) and that the Collector mounts/var/lib/docker/containersread-only. - Per-service datasets? Run one Collector centrally with a
service.nameper environment, or route by container labels with anattributesprocessor. - For general issues, see OTel Collector troubleshooting.
Alternative: Fluent Bit
If you already run Fluent Bit, tail the container log files and forward them over HTTP. Thedocker multiline parser reassembles partial lines from the json-file driver:
fluent-bit.conf
json_lines, not json. You can also point Docker’s native fluentd logging driver at Fluent Bit. See Connect Fluent Bit to Bronto for installation.
