Syslog Exporter
contrib
Maintainers: @kasia-kujawa, @rnishtala-sumo, @andrzej-stencel
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
The Syslog exporter sends logs in syslog format to a remote syslog server. It supports syslog protocols RFC5424 and RFC3164 and can send data overTCP, UDP or Unix sockets.
The exporter aims to be compatible with the Syslog receiver.
This means that syslog messages received via the Syslog receiver and exported via the Syslog exporter should be unchanged.
Configuration
The following configuration options are available:endpoint- (required) syslog endpointnetwork- (default =tcp) tcp/udp/unixport- (default =514) A syslog port, ignored whennetworkis set tounixprotocol- (default =rfc5424) rfc5424/rfc3164rfc5424- Expects the syslog messages to be rfc5424 compliantrfc3164- Expects the syslog messages to be rfc3164 compliant
enable_octet_counting(default =false) - Whether or not to enable rfc6587 octet countingtls- configuration for TLS/mTLS (applied only whennetworkis set totcp)insecure(default =false) whether to enable client transport security, by default, TLS is enabled.cert_file- Path to the TLS cert to use for TLS required connections. Should only be used ifinsecureis set tofalse.key_file- Path to the TLS key to use for TLS required connections. Should only be used ifinsecureis set tofalse.ca_file- Path to the CA cert. For a client this verifies the server certificate. For a server this verifies client certificates. If empty uses system root CA. Should only be used ifinsecureis set tofalse.insecure_skip_verify- (default =false) whether to skip verifying the certificate or not.min_version(default =1.2) Minimum acceptable TLS versionmax_version(default =""handled by crypto/tls - currently TLS 1.3) Maximum acceptable TLS version.reload_interval- Specifies the duration after which the certificate will be reloaded. If not set, it will never be reloaded.
retry_on_failureenabled(default =true)initial_interval(default =5s): Time to wait after the first failure before retrying; ignored ifenabledisfalsemax_interval(default = 30s): Is the upper bound on backoff; ignored ifenabledisfalsemax_elapsed_time(default =120s): Is the maximum amount of time spent trying to send a batch; ignored ifenabledisfalse
sending_queueenabled(default =false)num_consumers(default =10): Number of consumers that dequeue batches; ignored ifenabledisfalsequeue_size(default =5000): Maximum number of batches kept in memory before data; ignored ifenabledisfalse; User should calculate this asnum_seconds * requests_per_secondwhere:num_secondsis the number of seconds to buffer in case of a backend outagerequests_per_secondis the average number of requests per seconds.
storage(default =none): When set, enables persistence and uses the component specified as a storage extension for the persistent queue
timeout(default = 5s) Time to wait per individual attempt to send data to a backend
Examples
RFC5424
When configured withprotocol: rfc5424, the exporter creates one syslog message for each log record,
based on the following record-level attributes of the log.
If an attribute is missing, the default value is used.
The log’s timestamp field is used for the syslog message’s time.
| Attribute name | Type | Default value |
|---|---|---|
appname | string | - |
hostname | string | - |
message | string | empty string |
msg_id | string | - |
priority | int | 165 |
proc_id | string | - |
structured_data | map | - |
version | int | 1 |
RFC3164
When configured withprotocol: rfc3164, the exporter creates one syslog message for each log record,
based on the following record-level attributes of the log.
If an attribute is missing, the default value is used.
The log’s timestamp field is used for the syslog message’s time.
| Attribute name | Type | Default value |
|---|---|---|
appname | string | empty string |
hostname | string | - |
message | string | empty string |
priority | int | 165 |
Last generated: 2026-04-13