From 56cf3f29c256cb84cd1ddc19f3d08b4cd3af6439 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Thu, 30 Jul 2026 21:30:34 +0200 Subject: [PATCH 1/3] pipeline: outputs: bronto: document sending logs to Bronto Add a Bronto output page describing how to send logs using the HTTP output plugin (json_lines + gzip with the x-bronto-* headers), plus an OpenTelemetry/OTLP alternative for pipelines standardizing on OTLP. Add the page to the SUMMARY.md table of contents and add "Bronto" to the Vale spelling exceptions. Assisted-By: Claude Opus 4.8 (1M context) Signed-off-by: Severin Neumann --- SUMMARY.md | 1 + pipeline/outputs/bronto.md | 134 ++++++++++++++++++ vale-styles/FluentBit/Spelling-exceptions.txt | 1 + 3 files changed, 136 insertions(+) create mode 100644 pipeline/outputs/bronto.md diff --git a/SUMMARY.md b/SUMMARY.md index cafaf1057..3ebaabc07 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -180,6 +180,7 @@ * [Amazon Kinesis Data Streams](pipeline/outputs/kinesis.md) * [Amazon S3](pipeline/outputs/s3.md) * [Apache SkyWalking](pipeline/outputs/skywalking.md) + * [Bronto](pipeline/outputs/bronto.md) * [Counter](pipeline/outputs/counter.md) * [Dash0](pipeline/outputs/dash0.md) * [Datadog](pipeline/outputs/datadog.md) diff --git a/pipeline/outputs/bronto.md b/pipeline/outputs/bronto.md new file mode 100644 index 000000000..b7f2e146e --- /dev/null +++ b/pipeline/outputs/bronto.md @@ -0,0 +1,134 @@ +--- +description: Send logs to Bronto +--- + +# Bronto + +Stream logs to [Bronto](https://bronto.io) by using the [HTTP plugin](http.md) to send data to a Bronto ingestion endpoint. Bronto parses and structures logs after ingestion, so you can send raw log records as JSON lines. + +Bronto exposes region-specific ingestion endpoints: + +| Region | Host | +| :--- | :--- | +| EU | `ingestion.eu.bronto.io` | +| US | `ingestion.us.bronto.io` | + +## Configuration parameters + +Bronto uses the standard [HTTP output plugin](http.md) parameters together with a set of Bronto-specific HTTP headers. + +| Key | Description | Default | +| :--- | :--- | :--- | +| `compress` | Compress the payload before sending. Use `gzip` for Bronto. | _none_ | +| `format` | The payload format to send. Use `json_lines` for Bronto. | `json` | +| `host` | Your Bronto ingestion endpoint: `ingestion.eu.bronto.io` (EU) or `ingestion.us.bronto.io` (US). | | +| `port` | TCP port of the Bronto ingestion endpoint. Use `443`. | | +| `tls` | Enable TLS. Required by Bronto endpoints. Use `on`. | _none_ | + +### Headers + +| Header | Description | Required | +| :--- | :--- | :--- | +| `x-bronto-api-key` | Your Bronto API key. | Yes | +| `x-bronto-collection` | The collection used to group datasets. | Yes | +| `x-bronto-dataset` | The target dataset name. | Yes | +| `x-bronto-tags` | Key-value pairs for partitioning, for example `env=prod,team=platform`. | No | + +The `x-bronto-dataset` and `x-bronto-collection` headers are required when using the HTTP plugin. When you send data using OpenTelemetry, they're optional. See [Send logs using OpenTelemetry](#send-logs-using-opentelemetry). + +### TLS / SSL + +The HTTP output plugin supports TLS/SSL. For more details about the properties available and general configuration, see [TLS/SSL](../../administration/transport-security.md). + +## Get started + +To get started with sending logs to Bronto: + +1. In the Bronto UI, go to **Settings** > **API Keys** > **Add API Key** and create a key. An **Ingestion** role is sufficient for sending logs. +1. In your main Fluent Bit configuration file append the following, replacing ``, ``, ``, and `` with your values: + +{% tabs %} +{% tab title="fluent-bit.yaml" %} + +```yaml +pipeline: + + outputs: + - name: http + match: '*' + host: ingestion..bronto.io + port: 443 + tls: on + format: json_lines + compress: gzip + header: + - x-bronto-api-key + - x-bronto-dataset + - x-bronto-collection +``` + +{% endtab %} +{% tab title="fluent-bit.conf" %} + +```text +[OUTPUT] + Name http + Match * + Host ingestion..bronto.io + Port 443 + Tls On + Format json_lines + Compress gzip + Header x-bronto-api-key + Header x-bronto-dataset + Header x-bronto-collection +``` + +{% endtab %} +{% endtabs %} + +## Send logs using OpenTelemetry + +Bronto also accepts OTLP over HTTP at the same ingestion endpoints. If you're standardizing on OpenTelemetry across your pipeline, you can use the [OpenTelemetry plugin](opentelemetry.md) instead. + +With this approach, Bronto can derive the dataset from the `service.name` resource attribute and the collection from `service.namespace`. Fluent Bit doesn't attach these resource attributes by default, so set the `x-bronto-dataset` and `x-bronto-collection` headers explicitly to control the target dataset and collection. + +{% tabs %} +{% tab title="fluent-bit.yaml" %} + +```yaml +pipeline: + + outputs: + - name: opentelemetry + match: '*' + host: ingestion..bronto.io + port: 443 + logs_uri: /v1/logs + header: + - x-bronto-api-key + - x-bronto-dataset + - x-bronto-collection +``` + +{% endtab %} +{% tab title="fluent-bit.conf" %} + +```text +[OUTPUT] + Name opentelemetry + Match * + Host ingestion..bronto.io + Port 443 + Logs_Uri /v1/logs + Header x-bronto-api-key + Header x-bronto-dataset + Header x-bronto-collection +``` + +{% endtab %} +{% endtabs %} + +## References + +- [Bronto Fluent Bit documentation](https://docs.bronto.io/agent-setup/fluent-bit) diff --git a/vale-styles/FluentBit/Spelling-exceptions.txt b/vale-styles/FluentBit/Spelling-exceptions.txt index 19a34ebee..b98287f3e 100644 --- a/vale-styles/FluentBit/Spelling-exceptions.txt +++ b/vale-styles/FluentBit/Spelling-exceptions.txt @@ -20,6 +20,7 @@ BitBake Blackhole blocklist boolean +Bronto Buildkite Buildroot cAdvisor From 320c76537c4b5c5ea04a483eb69a15004db46ab7 Mon Sep 17 00:00:00 2001 From: Severin Neumann Date: Fri, 31 Jul 2026 15:10:44 +0200 Subject: [PATCH 2/3] pipeline: outputs: bronto: address review feedback Enable TLS on both OpenTelemetry output examples, which target the HTTPS ingestion endpoint on port 443. Use the Bronto documentation link instead of the product homepage in the introduction. Assisted-By: Claude Opus 4.8 (1M context) Signed-off-by: Severin Neumann --- pipeline/outputs/bronto.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pipeline/outputs/bronto.md b/pipeline/outputs/bronto.md index b7f2e146e..577f3ae4d 100644 --- a/pipeline/outputs/bronto.md +++ b/pipeline/outputs/bronto.md @@ -4,7 +4,7 @@ description: Send logs to Bronto # Bronto -Stream logs to [Bronto](https://bronto.io) by using the [HTTP plugin](http.md) to send data to a Bronto ingestion endpoint. Bronto parses and structures logs after ingestion, so you can send raw log records as JSON lines. +Stream logs to [Bronto](https://docs.bronto.io) by using the [HTTP plugin](http.md) to send data to a Bronto ingestion endpoint. Bronto parses and structures logs after ingestion, so you can send raw log records as JSON lines. Bronto exposes region-specific ingestion endpoints: @@ -104,6 +104,7 @@ pipeline: match: '*' host: ingestion..bronto.io port: 443 + tls: on logs_uri: /v1/logs header: - x-bronto-api-key @@ -120,6 +121,7 @@ pipeline: Match * Host ingestion..bronto.io Port 443 + Tls On Logs_Uri /v1/logs Header x-bronto-api-key Header x-bronto-dataset From 467e5453468a5eb506033c3d594a2f73d9ebc9b9 Mon Sep 17 00:00:00 2001 From: "Eric D. Schabell" Date: Sat, 1 Aug 2026 14:33:14 +0200 Subject: [PATCH 3/3] docs: pipeline: outputs: bronto: fix lint and table defaults Signed-off-by: Eric D. Schabell --- pipeline/outputs/bronto.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pipeline/outputs/bronto.md b/pipeline/outputs/bronto.md index 577f3ae4d..53c2fe926 100644 --- a/pipeline/outputs/bronto.md +++ b/pipeline/outputs/bronto.md @@ -10,8 +10,8 @@ Bronto exposes region-specific ingestion endpoints: | Region | Host | | :--- | :--- | -| EU | `ingestion.eu.bronto.io` | -| US | `ingestion.us.bronto.io` | +| `EU` | `ingestion.eu.bronto.io` | +| `US` | `ingestion.us.bronto.io` | ## Configuration parameters @@ -21,9 +21,9 @@ Bronto uses the standard [HTTP output plugin](http.md) parameters together with | :--- | :--- | :--- | | `compress` | Compress the payload before sending. Use `gzip` for Bronto. | _none_ | | `format` | The payload format to send. Use `json_lines` for Bronto. | `json` | -| `host` | Your Bronto ingestion endpoint: `ingestion.eu.bronto.io` (EU) or `ingestion.us.bronto.io` (US). | | -| `port` | TCP port of the Bronto ingestion endpoint. Use `443`. | | -| `tls` | Enable TLS. Required by Bronto endpoints. Use `on`. | _none_ | +| `host` | Your Bronto ingestion endpoint: `ingestion.eu.bronto.io` (`EU`) or `ingestion.us.bronto.io` (`US`). | `127.0.0.1` | +| `port` | TCP port of the Bronto ingestion endpoint. Use `443`. | `80` | +| `tls` | Enable TLS. Required by Bronto endpoints. Use `on`. | `off` | ### Headers @@ -45,7 +45,7 @@ The HTTP output plugin supports TLS/SSL. For more details about the properties a To get started with sending logs to Bronto: 1. In the Bronto UI, go to **Settings** > **API Keys** > **Add API Key** and create a key. An **Ingestion** role is sufficient for sending logs. -1. In your main Fluent Bit configuration file append the following, replacing ``, ``, ``, and `` with your values: +1. In your main Fluent Bit configuration file, append the following, replacing ``, ``, ``, and `` with your values: {% tabs %} {% tab title="fluent-bit.yaml" %}