Redis (om_redis)
This module can store data in a Redis server. It issues RPUSH commands using the Redis Protocol to send data.
The input counterpart, im_redis, can be used to retrieve data from a Redis server.
Configuration
The om_redis module accepts the following directives in addition to the common module directives. The Host directive is required.
Required directives
The following directive is required for the module to start.
This mandatory directive specifies the IP address or DNS hostname of the Redis server to connect to. |
Optional directives
This directive is interpreted the same way as the Key directive, i.e., it can be an expression that evaluates to a string.
The module will publish records to a Redis channel with this name.
The default is |
|||
This optional directive specifies the command to be used. The possible commands are LPUSH, RPUSH (the default), LPUSHX, RPUSHX, and PUBLISH. |
|||
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 |
|||
Set this directive to the local port number to use for the connection, for example to satisfy a firewall rule that expects traffic from a known port. If you do not set this directive, the module uses a random high port number, which a firewall may block.
|
|||
See the OutputType directive in the list of common module directives.
If this directive is not specified, the default |
|||
This specifies the port number of the Redis server. The default is port 6379. |
|||
Set this directive to the number of seconds to wait between reconnection attempts. If you do not set this directive, the module starts with a 1 second interval and doubles it after each failed attempt, resetting to 1 second once it reconnects successfully.
|
|||
Set this directive to |
|||
Set this directive to
The default is |
Examples
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 nxlog.
<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 event_logs.
<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"
The configuration below sets the mandatory Host directive to the Redis server IP address.
It also specifies the Command and Channel directives for publishing logs to the event_logs Redis channel.
<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"