This section describes the options of the s3() destination in syslog-ng OSE.

The following options are specific to the s3 destination.

access-key()

Type: string
Default: N/A

Description: The ACCESS_KEY of the service account of the S3 bucket. (Used together with secret-key().)

bucket()

Type: string
Default: N/A

Description: The name of the S3 bucket. For example: my-bucket.

canned-acl()

Type: string
Default: N/A

Description: The ACL assigned to the object, if specified, for example, bucket-owner-read. The following values are accepted:

authenticated-read, aws-exec-read, bucket-owner-full-control, bucket-owner-read, log-delivery-write, private, public-read, public-read-write

If an invalid value is configured, the default is used.

chunk-size()

Type: string
Default: N/A

Description: The size of log messages written by syslog-n OSE to the S3 object in a batch. If compression is enabled, the chunk-size() specifies the compressed size.

compression()

Type: boolean
Default: no

Description: Setting compression to yes enables gzip compression, and implicitly adds a .gz suffix to the created object’s key. You can set the level of the compression using the compresslevel() option (0-9).

compresslevel()

Type: integer
Default: 0-9

Description: Only has effect if compression() is set to yes. The level of the compression can be set using the compresslevel() option (0-9).

flush-grace-period()

Type: integer[minutes]
Default: 60

Description: After the grace period expires and no new messages are routed to the destination, syslog-ng OSE flushes the contents of the buffer to the S3 object even if the volume of the messages in the buffer is lower than chunk-size().

log-fifo-size()

Type: number
Default: Use global setting.

Description: The number of messages that the output queue can store.

max-object-size()

Type: number [GiB]
Default: 5120GiB

Description: The maximal size of the S3 object. If an object reaches this size, syslog-ng OSE appends an index suffix (“-1”, “-2”, …) to the object key and starts a new object after rotation.

max-pending-uploads()

Type: integer
Default: 32

Description: The max-pending-uploads() and upload-threads() options configure the upload of the chunks. Uploading happens in multiple threads to minimize network overhead.

  • upload-threads() limits the maximum number of parallel uploads.
  • max-pending-uploads() limits the number of chunks that are waiting in the work queue of the upload threads to get uploaded

object-key()

Type: template
Default: N/A

Description: The unique object key (or key name), which identifies the object in an Amazon S3 bucket.

object-key-timestamp()

Type: template
Default: N/A

Description: The object-key-timestamp() option can be used to set a datetime-related template, which is appended to the end of the object, for example: “${R_MONTH_ABBREV}${R_DAY}”. When a log message arrives with a newer timestamp template resolution, the previous timestamped object gets finished and a new one is started with the new timestamp. If an older message arrives, it does not reopen the old object, but starts a new object with the key having an index appended to the old object.

persist-name()

Type: string
Default: N/A

Description: If you receive the following error message during syslog-ng OSE startup, set the persist-name() option of the duplicate drivers:

Error checking the uniqueness of the persist names, please override it with persist-name option. Shutting down.

or

Automatic assignment of persist names failed, as conflicting persist names were found. Please override the automatically assigned identifier using an explicit persist-name() option or remove the duplicated configuration elements.

This error happens if you use identical drivers in multiple sources, for example, if you configure two file sources to read from the same file. In this case, set the persist-name() of the drivers to a custom string, for example, persist-name(“example-persist-name1”).

region()

Type: string
Default: N/A

Description: The regional endpoint where the bucket is stored. For example, us-east-1.

secret-key()

Type: string
Default: N/A

Description: The SECRET_KEY of the service account used to access the S3 bucket. (Together with access-key().)

storage-class()

Type: string
Default: STANDARD

Description: The storage class of the object, for example, REDUCED_REDUNDANCY. The following values are valid:

DEEP_ARCHIVE, GLACIER, GLACIER_IR, INTELLIGENT_TIERING, ONEZONE_IA, OUTPOSTS, REDUCED_REDUNDANCY, SNOW, STANDARD, STANDARD_IA

If an invalid value is configured, the default is used.

upload-threads()

Type: integer
Default: 8

Description: The number of syslog-ng OSE worker threads that are used to upload data to S3 from this destination.

template()

Description: The message as written to the Amazon S3 object. You can use templates and template functions to format the message.

url()

Type: string
Default: N/A

Description: The URL of the S3 bucket, for example, https://my-bucket.s3.us-west-2.amazonaws.com.

Updated: