omkinesis sends each formatted message to Amazon Kinesis Data Streams
using the PutRecord API and libcurl AWS Signature Version 4 signing.
omkinesis: Amazon Kinesis output module¶
The module builds automatically when libcurl 7.75.0 or newer is available;
--enable-omkinesis requires it explicitly. The action
requires a stream name, a region, a partition key, and credentials. Use
partition_key for a fixed key or partition_key_template to derive a
key from each message. A template based key can distribute traffic across
shards. Supply
access_key and secret_key together or use AWS_ACCESS_KEY_ID and
AWS_SECRET_ACCESS_KEY in the daemon environment. AWS_SESSION_TOKEN is
supported for temporary credentials. Credential values are read at
configuration time; restart rsyslog to rotate them. IAM roles and AWS shared
credential files are not read by this module.
Each action call sends one record. Transport failures, HTTP 429 and 5xx
responses, and HTTP 400 responses containing
ProvisionedThroughputExceededException, InternalFailure, or
KMSThrottlingException suspend the action. Standard
action.resumeInterval and action.resumeRetryCount settings control
these retries. Other non-200 responses are not retried. Delivery can be
duplicated after an uncertain response. The partition key is limited to 256
bytes. The default combined data and partition key limit is 1 MiB; set
max_record_size up to 10 MiB only after enabling larger records on the
Kinesis stream.
Configuration parameters¶
RainerScript example¶
module(load="omkinesis")
template(name="kinesisPayload" type="string" string="%msg%")
template(name="kinesisKey" type="string" string="%hostname%")
action(type="omkinesis" stream="my-stream" region="us-east-1"
partition_key_template="kinesisKey" template="kinesisPayload"
action.resumeRetryCount="-1")
YAML example¶
version: 2
templates:
- name: kinesisPayload
type: string
string: "%msg%"
- name: kinesisKey
type: string
string: "%hostname%"
rulesets:
- name: main
statements:
- type: omkinesis
stream: my-stream
region: us-east-1
partition_key_template: kinesisKey
template: kinesisPayload
Load the module with module(load="omkinesis") in the enclosing
RainerScript configuration before including the YAML file.
Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project
Contributing: Source & docs: rsyslog source project
© 2008–2026 Rainer Gerhards and others. Licensed under the Apache License 2.0.