This mandatory directive specifies the IP address or DNS hostname of the Redis server to connect to.
This specifies the Key used by the RPUSH command. It must be a string type expression. If the expression in the Key directive is not a constant string (it contains functions field names, or operators), it will be evaluated for each event to be inserted. The default is
nxlog. The usage of this directive is mutually exclusive with the usage of the
PUBLISHcommand in the Command directive.
This optional directive specifies the local port number of the connection. If this is not specified, a random high port number will be used, which is not always ideal in firewalled network environments.
Due to the required
TIME-WAITdelay in closing connections, attempts to bind to
LocalPortmay fail. In such cases, the message
Address already in usewill be written to
nxlog.log. If the situation persists, it could impede network performance.
See the OutputType directive in the list of common module directives. If this directive is not specified, the default
Dgramformatter function is used, which writes the value of
$raw_eventwithout a line terminator. You can use
Binaryto preserve structured data if the logs are intended to be read from Redis by another NXLog instance.
This specifies the port number of the Redis server. The default is port 6379.
This optional directive sets the reconnect interval in seconds. If it is set, the module attempts to reconnect in every defined second. If it is not set, the reconnect interval will start at 1 second and doubles with every attempt. If the duration of the successful connection is greater than the current reconnect interval, then the reconnect interval will be reset to 1 sec.
The Reconnect directive must be used with caution. If it is used on multiple systems, it can send reconnect requests simultaneously to the same destination, potentially overloading the destination system. It may also cause NXLog to use unusually high system resources or cause NXLog to become unresponsive.
The following procedures are exported by om_redis.
Force a reconnection. This can be used from a Schedule block to periodically reconnect to the server.
The reconnect() procedure must be used with caution.
If configured, it can attempt to reconnect after every event sent, potentially overloading the destination system.
This configuration only sets the mandatory Host directive to the Redis server IP address.
The module default will use the
RPUSH command to write the logs to a key named
<Input test_input> Module im_testgen MaxCount 2 </Input> <Output redis> Module om_redis Host 192.168.1.213 </Output>
127.0.0.1:6379> lrange nxlog 0 -1 1) "0@Wed Jul 13 16:47:59 2022" 2) "1@Wed Jul 13 16:47:59 2022"
The configuration below sets the mandatory Host directive to the Redis server IP address.
It also specifies the Command and Key directives to use the
LPUSH command for writing logs to a key named
<Input test_input> Module im_testgen MaxCount 2 </Input> <Output redis> Module om_redis Host 192.168.1.213 Command LPUSH Key 'event_logs' </Output>
127.0.0.1:6379> lrange event_logs 0 -1 1) "1@Wed Jul 13 16:52:39 2022" 2) "0@Wed Jul 13 16:52:39 2022"
<Input test_input> Module im_testgen MaxCount 2 </Input> <Output redis> Module om_redis Host 192.168.1.213 Command PUBLISH Channel 'event_logs' </Output>
127.0.0.1:6379> subscribe event_logs Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "event_logs" 3) (integer) 1 1) "message" 2) "event_logs" 3) "0@Wed Jul 13 17:00:56 2022" 1) "message" 2) "event_logs" 3) "1@Wed Jul 13 17:00:56 2022"