imczmq: Input module for ZeroMQ

Module Name:

imczmq

Author:

Brian Knox <bknox@digitalocean.com>

Purpose

The imczmq module receives log messages from ZeroMQ sockets using the CZMQ library. Each incoming frame is converted into an rsyslog message and processed by the configured ruleset. Multiple socket types and optional CURVE authentication are supported.

Configuration Parameters

Note

Parameter names are case-insensitive.

Module Parameters

authenticator

Start a ZAauth authenticator thread when set to on.

authtype

CURVECLIENT or CURVESERVER to enable CURVE security.

servercertpath

Path to the server certificate used with CURVE.

clientcertpath

Path to the client certificate or directory of allowed clients.

Input Parameters

endpoints

Space-separated list of ZeroMQ endpoints to bind or connect to.

socktype

ZeroMQ socket type such as PULL, SUB, ROUTER, DISH or SERVER.

ruleset

Optional ruleset that processes received messages.

topics

Optional comma-separated list of topics for SUB or DISH sockets. An empty topic subscribes to all.

Examples

module(
    load="imczmq"                     # load the input module
    servercertpath="/etc/curve.d/server"  # path to server certificate
    clientcertpath="/etc/curve.d/"        # directory with client certs
    authtype="CURVESERVER"               # enable CURVE server mode
    authenticator="on"                   # start ZAauth authenticator
)

input(
    type="imczmq"                       # use the imczmq input
    socktype="PULL"                     # create a PULL socket
    endpoints="@tcp://*:24555"          # bind on port 24555
)

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.