These docs are for Cribl Stream 4.12 and are no longer actively maintained.
See the latest version (4.20).
Syslog Destination
Cribl Stream supports sending out data over syslog via TCP or UDP.
Type: Streaming | TLS Support: Configurable | PQ Support: Yes
This Syslog Destination supports RFC 3164 and RFC 5424. Before you configure this Destination, review Syslog Format Options and Structure Syslog Output below. This will help you ensure that your configuration will structure RFC-compliant outbound events that downstream services can read.
Configure Cribl Stream to Output Data in Syslog Format
On the top bar, select Products, and then select Cribl Stream. Under Worker Groups, select a Worker Group. Next, you have two options:
- To configure via QuickConnect, navigate to Routing > QuickConnect (Stream) or Collect (Edge). Select Add Destination and select the Destination you want from the list, choosing either Select Existing or Add New.
- To configure via the Routes, select Data > Destinations or More > Destinations (Edge). Select the Destination you want. Next, select Add Destination.
In the New Destination modal, configure the following under General Settings:
- Output ID: Enter a unique name to identify this Syslog definition. If you clone this Destination, Cribl Stream will add
-CLONEto the original Output ID. - Description: Optionally, enter a description.
- Protocol: The network protocol to use for sending out syslog messages. Defaults to
TCP;UDPis also available. - Load balancing: Cribl Stream displays this option only when the Protocol is set to
TCP. Toggle on to specify multiple destinations. See Load Balancing Settings below.
Turning Load balancing off displays the following two additional fields:Address: Address/hostname of the receiver.
Port: Port number to connect to on the host.
If Load balancing is disabled and you notice that Cribl Stream is not sending data to all possible IP addresses, enable Advanced Settings > Round-robin DNS.- Record size limit: Displayed when Protocol is set to
UDP. Sets the maximum size of syslog messages. Defaults to1500, and must be ≤2048. To avoid packet fragmentation, keep this value less than or equal to the MTU (maximum transmission unit) for the network path to the downstream receiver. When the message length exceeds the size limit, it is truncated and followed with an ellipsis ("…").
- Output ID: Enter a unique name to identify this Syslog definition. If you clone this Destination, Cribl Stream will add
Next, you can configure the following Optional Settings:
Facility: Default value for message facility. If set, will be overwritten by the value of
__facility. Defaults touser.Severity: Default value for message severity. If set, will be overwritten by the value of
__severity. Defaults tonotice.App name: Default value for application name. If set, will be overwritten by the value of
__appname. Defaults toCribl.Message format: The syslog message format supported by the receiver. Defaults to
RFC3164.Timestamp format: The timestamp format to use when serializing an event’s time field. Options include
Syslog(default) andISO8601. For details, see Timestamp format below.Throttling: Throttle rate, in bytes per second. Defaults to
0, meaning no throttling. Multiple-byte units such as KB, MB, or GB are also allowed - for example,42 MB. When throttling is engaged, your Backpressure behavior selection determines whether Cribl Stream will handle excess data by blocking it, dropping it, or queueing it to disk. For details, see Throttling below.Backpressure behavior: Select whether to block, drop, or queue events when all receivers are exerting backpressure. (Causes might include a broken or denied connection, or a rate limiter.) Defaults to
Block.Tags: Optionally, add tags that you can use to filter and group Destinations on the Destinations page. These tags aren’t added to processed events. Use a tab or hard return between (arbitrary) tag names.
Optionally, you can adjust the Persistent Queue, TLS, Processing, Timeout, and Advanced settings outlined in the sections below.
Select Save, then Commit & Deploy.
Load Balancing Settings
Load balancing is available only when the Protocol is set to
TCP.
Toggling Load balancing on replaces the static General Settings > Address and Port fields with the following controls:
Exclude current host IPs: Appears when Load balancing is toggled on. It determines whether to exclude all IPs of the current host from the list of any resolved hostnames. Default is toggled off, which keeps the current host available for load balancing.
Destinations
Use the Destinations table to specify a known set of receivers on which to load-balance data. To specify more receivers on new rows, click Add Destination. Each row provides the following fields:
Address: Hostname of the receiver. Optionally, you can paste in a comma-separated list, in <host>:<port> format.
Port: Port number to send data to on this host.
TLS: Whether to inherit TLS configs from group setting, or disable TLS. Defaults to inherit.
TLS servername: Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP). Otherwise, uses the global TLS settings.
Load weight: Set the relative traffic-handling capability for each connection by assigning a weight (> 0). This column accepts arbitrary values, but for best results, assign weights in the same order of magnitude to all connections. Cribl Stream will attempt to distribute traffic to the connections according to their relative weights.
The final column provides an X button to delete any row from the table.
For details on configuring all these options, see About Load Balancing.
Timestamp Format
For Syslog, the timestamp format is Mmm dd hh:mm:ss, using the timezone of the syslog device. For example: Jan 18 16:56:36.
For ISO8601, the basic timestamp format is YYYY-MM-DD. For example: 2023-01-18. For extended formats, add hours, minutes, seconds, decimal fractions (optional), and timezone. For example: 2023-01-18T16:56:36.996-08:00.
Throttling
When Throttling is used in conjunction with Connection limit, the throttling rate is applied per connection. For instance, if Connection limit is set to 2 and throttling is set to 3 MB, each of the two connections can send data at a rate of up to 3 MB per second, resulting in a total potential throughput of 6 MB per second across both connections.
Persistent Queue Settings
The Persistent Queue Settings tab displays when the Backpressure behavior option in General settings is set to Persistent Queue. Persistent queue buffers and preserves incoming events when a downstream Destination has an outage or experiences backpressure.
Before enabling persistent queue, learn more about persistent queue behavior and how to optimize it with your system:
- About Persistent Queues
- Optimize Destination Persistent Queues (dPQ)
- Destination Backpressure Triggers
On Cribl-managed Cloud Workers (with an Enterprise plan), this tab exposes only the destructive Clear Persistent Queue button (described at the end of this section). A maximum queue size of 1 GB disk space is automatically allocated per PQ-enabled Destination, per Worker Process. The 1 GB limit is on outbound uncompressed data, and no compression is applied to the queue.
This limit is not configurable. If the queue fills up, Cribl Stream/Edge will block outbound data. To configure the queue size, compression, queue-full fallback behavior, and other options below, use a hybrid Group.
Mode: Use this menu to select when Cribl Stream/Edge engages the persistent queue in response to backpressure events from this Destination. The options are:
| Mode | Description |
|---|---|
| Error | Queues and stores data on a disk when the Destination is unavailable or in an error state. |
| Backpressure | Queues and stores data to a disk when it detects backpressure from the Destination until the backpressure event resolves. |
| Always On | Cribl Stream or Edge immediately queues and stores all data on a disk for all events, even when there is no backpressure. |
If a Worker/Edge Node starts with an invalid Mode setting, it automatically switches to Error mode. This might happen if the Worker/Edge Node is running a version that does not support other modes (older than 4.9.0), or if it encounters a nonexistent value in YAML configuration files.
File size limit: The maximum data volume to store in each queue file before closing it. Enter a numeral with units of KB, MB, etc. Defaults to 1 MB.
Queue size limit: The maximum amount of disk space that the queue can consume on each Worker Process. When the queue reaches this limit, the Destination stops queueing data and applies the Queue-full behavior. Defaults to 5 GB. This field accepts positive numbers with units of KB, MB, GB, and so on. You can set it as high as 1 TB, unless you’ve configured a different Worker Process PQ size limit on the Group Settings/Fleet Settings page.
Queue file path: The location for the persistent queue files. Defaults to $CRIBL_HOME/state/queues. Cribl Stream/Edge will append /<worker-id>/<output-id> to this value.
Compression: Set the codec to use when compressing the persisted data after closing a file. Defaults to None. Gzip is also available.
Queue-full behavior: Whether to block or drop events when the queue begins to exert backpressure. A queue begins to exert backpressure when the disk is low or at full capacity. This setting has two options:
- Block: The output will refuse to accept new data until the receiver is ready. The system will return block signals back to the sender.
- Drop new data: Discard all new events until the backpressure event has resolved and the receiver is ready.
Backpressure duration Limit: When Mode is set to Backpressure, this setting controls how long to wait during network slowdowns before activating queues. A shorter duration enhances critical data loss prevention, while a longer duration helps avoid unnecessary queue transitions in environments with frequent, brief network fluctuations. The default value is 30 seconds.
Strict ordering: Toggle on (default) to enable FIFO (first in, first out) event forwarding, ensuring Cribl Stream/Edge sends earlier queued events first when receivers recover. The persistent queue flushes every 10 seconds in this mode. Toggle off to prioritize new events over queued events, configure a custom drain rate for the queue, and display this option:
- Drain rate limit (EPS): Optionally, set a throttling rate (in events per second) on writing from the queue to receivers. (The default
0value disables throttling.) Throttling the queue drain rate can boost the throughput of new and active connections by reserving more resources for them. You can further optimize Worker startup connections and CPU load in the Worker Processes settings.
Clear Persistent Queue: For Cloud Enterprise only, click this button if you want to delete the files that are currently queued for delivery to this Destination. If you click this button, a confirmation modal appears. Clearing the queue frees up disk space by permanently deleting the queued data, without delivering it to downstream receivers. This button only appears after you define the Output ID.
Use the Clear Persistent Queue button with caution to avoid data loss. See Steps to Safely Disable and Clear Persistent Queues for more information.
TLS Settings (Client Side)
Enabled: Defaults to toggled off. When toggled on:
Validate server certs: Reject certificates that are not authorized by a CA in the