Elastic Cloud with Cribl Stream

Cluster, index, and authentication settings, per the docs.

What it is for

Cribl Stream can send events to Elastic Cloud through a dedicated Elastic Cloud Destination, listed by the docs as Type Streaming with TLS Support: Yes and PQ Support: Yes.

The page reserves the Elasticsearch Destination for when you need flexibility to support both self-hosted and Elastic Cloud deployments and require advanced configuration options.

Configuring the destination

You configure it from a Worker Group (Products, Cribl Stream) through QuickConnect or Routes; both paths end with Add Destination, and the QuickConnect path additionally offers Select Existing or Add New.

General Settings take an Output ID (a unique name identifying this Destination definition), an optional Description, the Cloud ID of your Elastic Cloud environment (found on its Deployments overview page), and a Data stream or index set to a JavaScript expression evaluated for each event; it can evaluate to a constant value, must be enclosed in quotes or backticks, and an event's __index field can overwrite it.

Authentication offers four methods, per the Elastic Cloud Destination documentation:

Optional Settings include Backpressure behavior (whether to block, drop, or queue events when all receivers are exerting backpressure; default Block) and Tags (filter and group Destinations on the Destinations page, not added to processed events, separated by a tab or hard return). Then optionally adjust Persistent Queue, Processing, Retries, and Advanced settings, select Save, then Commit & Deploy.

The Persistent Queue Settings tab displays when Backpressure behavior in General settings is set to Persistent Queue, buffering and preserving incoming events when a downstream Destination has an outage or experiences backpressure. Some settings might not appear if the Worker Group PQ storage mode is Network filesystem or AWS S3, where that behavior is managed at the Worker Group level. On Cribl-managed Cloud Workers with an Enterprise plan, the tab exposes only Mode, Backpressure duration limit, and the destructive Clear Persistent Queue button. Queue settings:

Processing Settings (Post-Processing) set the Pipeline or Pack that processes data before it is sent, and System fields added automatically to events using this output; the default includes cribl_pipe, wildcards are supported, and other available fields include cribl_host, cribl_input, and cribl_output.

Honor Retry-After header, when on, honors the header provided the stated delay is no longer than 180 seconds and takes precedence over all other Retries options; off ignores all such headers. Default Retry Behavior applies an exponential backoff retry for certain failed requests, overridable per error code; the default rules are copied from the Elastic Cloud Destination page:

| Status Code | Action |
| --- | --- |
| Any in the `1xx`, `3xx` series| Drop the request |
| `401`, `403`, `408`, `429` errors| Retry in memory or persistent queue if enabled, and initiate backpressure after limit is reached |
| Any other `4xx` series| Drop the request |
| Any in the `5xx` series| Retry in memory or persistent queue if enabled, and initiate backpressure after limit is reached |

A 429 (Too Many Requests) not listed in the retry settings is treated as a non-retryable 4xx error and dropped; include 429 in Settings for failed HTTP requests to retry it. Each listed code sets a Pre-backoff interval (ms, default 1000), a Backoff multiplier (default 2), and a Backoff limit (ms, default 10,000, maximum 180,000); Retry timed-out HTTP requests exposes the same three settings.

Advanced Settings: Request timeout defaults to 30 seconds; Request concurrency to 5 (minimum 1, maximum 32) concurrent requests per Worker Process; Body size limit (KB) to 4096 KB (the actual body might exceed it, since the Destination adds bytes); Events-per-request limit to 0, unlimited; Flush period (s) to 1. Extra HTTP headers and Extra parameters pass name-value pairs (headers sent encrypted), with a pipeline parameter available for Elastic ingest pipelines. Elastic pipeline optionally names an ingest pipeline, overridable by expression from the Elasticsearch Source. Include document_id off omits the field for Elastic TSDS (time series data stream) events. Failed request logging mode: None (default), Payload, or Payload + Headers, with Safe Headers listing the headers to log (empty redacts all). Environment (GitOps) scopes the configuration to one Git branch, or enables it everywhere when empty.

Using it

Recommended settings for Elastic Cloud Serverless deployments, tuned to the serverless autoscaler and aligned with the Elastic Agent Scale preset, are copied from the Elastic Cloud Destination page:

| Setting | Value |
| ------- | ----- |
| **Request timeout** | `60` seconds |
| **Request concurrency** | `4` |
| **Body size limit (KB)** | `5120` KB |
| **Events-per-request limit** | `3000` |
| **Flush period (s)** | `60` seconds |

Keep Request concurrency low to avoid outpacing the autoscaler before it has warm shards; the shorter Request timeout surfaces HTTP 429 responses quickly; the 60-second Flush period balances batching efficiency against data freshness. The Destination normalizes _time to @timestamp at millisecond resolution and sets host.name to host.

What the docs flag

Frequently asked questions

What authentication methods does the Elastic Cloud Destination in Cribl Stream support?

Four: Manual (username and password entered directly), Secret (a stored secret), Manual API Key (an Elasticsearch API key entered directly), and Secret API Key (a stored text secret). The Secret and Secret API Key methods each offer a Create link to store a new, reusable secret.

When does the Persistent Queue Settings tab appear on the Elastic Cloud Destination?

It displays when the Backpressure behavior option in General settings is set to Persistent Queue. The queue there buffers and preserves incoming events when a downstream Destination has an outage or experiences backpressure.

Which HTTP status codes does the Elastic Cloud Destination retry by default?

It retries 401, 403, 408, and 429 errors and anything in the 5xx series, in memory or the persistent queue if enabled, and it drops the 1xx and 3xx series plus any other 4xx. A 429 not listed in the failed HTTP request retry settings is treated as a non-retryable 4xx error and dropped.

What settings does the documentation recommend for Elastic Cloud Serverless?

A Request timeout of 60 seconds, Request concurrency of 4, a Body size limit of 5120 KB, an Events-per-request limit of 3000, and a Flush period of 60 seconds, aligned with the Elastic Agent Scale preset. During cold start, consider dropping Request concurrency to 2 and Body size limit to 2048 KB until the autoscaler has warm shards.

Source

Verified against Cribl Stream 4.20 documentation on October 26, 2026.