Syslog
The Syslog output plugin lets you deliver messages to Syslog servers. It supports RFC3164 and RFC5424 formats over UDP, TCP, TLS, and Datagram Transport Layer Security (DTLS) transports.
Configuration parameters
allow_longer_sd_id
If true, Fluent Bit allows SD-ID values longer than 32 characters. SD-ID values that exceed 32 characters violate RFC5424 standards.
false
host
Domain or IP address of the remote Syslog server.
127.0.0.1
port
TCP or UDP port of the remote Syslog server.
514
syslog_appname_key
Optional. The key name from the original record that contains the application name that generated the message.
none
syslog_appname_preset
Optional. The preset application name. It will be overwritten if syslog_appname_key is set and a key of a record is matched.
none
syslog_facility_key
Optional. The key name from the original record that contains the Syslog facility number.
none
syslog_facility_preset
Optional. The preset facility number. It will be overwritten if syslog_facility_key is set and a key of a record is matched.
1
syslog_format
The Syslog protocol format to use. Available options are rfc3164 and rfc5424.
rfc5424
syslog_hostname_key
Optional. The key name from the original record that contains the hostname that generated the message.
none
syslog_hostname_preset
Optional. The preset hostname. It will be overwritten if syslog_hostname_key is set and a key of a record is matched.
none
syslog_maxsize
The maximum size allowed per message. The value must be an integer representing the number of bytes allowed. If no value is provided, the default size is set depending on the protocol version specified by syslog_format. The value rfc3164 sets max size to 1024 bytes, and rfc5424 sets the size to 2048 bytes.
0
syslog_message_key
Required. The key name from the original record that contains the message to deliver.
none
syslog_msgid_key
Optional. The key name from the original record that contains the Message ID associated to the message.
none
syslog_msgid_preset
Optional. The preset message ID. It will be overwritten if syslog_msgid_key is set and a key of a record is matched.
none
syslog_procid_key
Optional. The key name from the original record that contains the Process ID that generated the message.
none
syslog_procid_preset
Optional. The preset process ID. It will be overwritten if syslog_procid_key is set and a key of a record is matched.
none
syslog_sd_key
Optional. The key name from the original record that contains a map of key/value pairs to use as Structured Data (SD) content. The key name is included in the resulting SD field as shown in the examples in this doc.
none
syslog_severity_key
Optional. The key name from the original record that contains the Syslog severity number.
none
syslog_severity_preset
Optional. The preset severity number. It will be overwritten if syslog_severity_key is set and a key of a record is matched.
6
Transport modes
The mode parameter selects the transport used to reach the Syslog server:
Mode
Transport
tls setting
udp
Datagrams.
Must remain off.
tcp
Stream. Set tls to on to secure the connection.
Optional.
tls
Stream secured with TLS.
Optional. Enabled automatically.
dtls
Datagrams secured with DTLS.
Optional. Enabled automatically.
Setting mode to tls or dtls enables TLS automatically, so you don't need to set tls to on for those modes. Setting it explicitly is harmless. To secure a tcp connection, you must set tls to on.
Fluent Bit validates the configuration at startup and refuses to start in these cases:
modeset toudpwithtlsset toonfails withmode=udp with tls=on is unsupported. Usedtlsinstead, which is the supported way to secure datagram transport.modeset totlsordtlsin a build compiled without TLS support fails withTLS support is unavailable.
DTLS support is available in Fluent Bit version 5.1 and greater. Earlier versions support only udp, tcp, and tls.
TLS / SSL
The Syslog output plugin supports TLS/SSL. For more details about the properties available and general configuration, see TLS/SSL.
The same TLS properties apply to dtls mode, including tls.verify, tls.ca_file, tls.crt_file, and tls.key_file.
Examples
Configuration file
Get started quickly with this configuration file:
Secure datagram transport with DTLS
To send messages over DTLS, set mode to dtls. The Syslog server must listen for DTLS on the configured port:
Structured data
The following is an example of how to configure the syslog_sd_key to send Structured Data to the remote Syslog server.
Example log:
Example configuration file:
Example output:
Add structured data authentication token
Some services use the structured data field to pass authentication tokens (for example, [<token>@41018]), which would need to be added to each log message dynamically. However, this requires setting the token as a key rather than as a value.
Here's an example of how that might be achieved, using AUTH_TOKEN as a variable:
Last updated
Was this helpful?