Skip to main content
bronto send posts events to Bronto’s ingestion API. It’s meant for quick tests, shell scripts, and piping a local log file in. For production pipelines, use an agent or collector; Ingest Data into Bronto lists the options, and Quick Ingest covers the same HTTP API that send uses. An ingestion-only API key is enough for send. Every other command that calls the Bronto API needs a management key; local commands such as bronto version or bronto search --local need none (see Authentication).

One event

-m/--message sends exactly one event and exits, ignoring stdin. -d/--dataset is required and names the destination dataset. --collection names its collection. If either doesn’t exist yet, Bronto creates it when the first event arrives (see Data Organization). Unlike the read commands, send doesn’t look the name up, so pass the collection with --collection rather than as collection/name. Add tags with --tag key=value, repeatable:

Stream from stdin

Without -m, send reads lines from stdin until EOF:
Each line becomes one event:
  • A JSON object is sent as is. If it has no timestamp, the current time is added. If it has no non-empty string message, the raw line is used as the message.
  • Anything else becomes {"message": "<line>", "timestamp": "<now>"}.
Lines are batched. A batch is sent when it reaches --batch-size events (default 500) or --batch-bytes (default 1 MiB), and a partial batch is flushed at least every --flush-interval (default 1s, minimum 100ms), so tail -f output shows up promptly. Request bodies are gzip-compressed unless you pass --no-gzip.
If a batch fails, send stops with an error, and the events in that batch are lost. Batches aren’t deduplicated, so re-running the command after a partial failure can send some events twice.
The ingestion API rejects request bodies over 10 MB with payload_too_large. Lower --batch-size if you hit it.

Preview without sending

--dry-run prints what would be sent, including the resolved ingestion URL, instead of sending it:
The timestamp of each event is the time you ran the command.

Ingestion endpoint

send posts to https://ingestion.<region>.bronto.io. For staging or a local instance, override it with --ingest-url, BRONTO_INGEST_URL, or the ingest_url config key (see Environments).