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).