omczmq: Output module for ZeroMQ¶
Module Name: |
omczmq |
Author: |
Brian Knox <bknox@digitalocean.com> |
Purpose¶
The omczmq
module publishes messages over ZeroMQ using the CZMQ
library. Messages are formatted with templates and sent according to the
configured socket type and topic list. The module supports dynamic
topics, CURVE authentication and heartbeat settings when available in the
underlying libraries.
Configuration Parameters¶
Note
Parameter names are case-insensitive.
Module Parameters¶
authenticator
Start a ZAauth authenticator thread when set to
on
.authtype
Set to
CURVECLIENT
orCURVESERVER
to enable CURVE security.servercertpath
Path to the server certificate used for CURVE.
clientcertpath
Path to the client certificate or directory of allowed clients.
Action Parameters¶
endpoints
Space-separated list of ZeroMQ endpoints to connect or bind.
socktype
ZeroMQ socket type such as
PUSH
,PUB
,DEALER
,RADIO
orCLIENT
.sendtimeout
Timeout in milliseconds before a send operation fails.
sendhwm
Maximum number of queued messages before new ones are dropped.
connecttimeout
Connection timeout in milliseconds (requires libzmq 4.2 or later).
heartbeativl
Interval in milliseconds between heartbeat pings (libzmq >= 4.2).
heartbeattimeout
Time in milliseconds to wait for a heartbeat reply (libzmq >= 4.2).
heartbeatttl
Time a peer may wait between pings before disconnecting (libzmq >= 4.2).
template
Name of the template used to format messages. Defaults to
RSYSLOG_ForwardFormat
.topics
Comma-separated list of topics for
PUB
orRADIO
sockets.topicframe
When
on
the topic is sent as a separate frame onPUB
sockets.dynatopic
If
on
each topic name is treated as a template.
Examples¶
module(
load="omczmq" # load the output module
servercertpath="/etc/curve.d/example_server" # server certificate path
clientcertpath="/etc/curve.d/allowed_clients" # allowed client directory
authtype="CURVESERVER" # enable CURVE server mode
authenticator="on" # start ZAauth authenticator
)
template(name="host_program_topic" type="list") { # build a dynamic topic
property(name="hostname") # host segment
constant(value=".") # separator
property(name="programname") # program segment
}
action(
type="omczmq" # use the omczmq output
socktype="PUB" # create a PUB socket
endpoints="@tcp://*:31338" # bind to port 31338
topics="host_program_topic" # topic template name
dynatopic="on" # treat topic as template
topicframe="on" # send topic as separate frame
)
Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project
Contributing: Source & docs: rsyslog source project
© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.