Named Pipes (im_pipe)

This module can be used to read log messages from named pipes on UNIX-like operating systems.

Configuration

The im_pipe module accepts the following directives in addition to the common module directives.

Required directives

The following directive is required for the module to start.

Pipe

This mandatory directive specifies the name of the input pipe file. The module checks if the specified pipe file exists and creates it in case it does not. If the specified pipe file is not a named pipe, the module does not start.

File permissions

The following directives are for specifying permissions for the created socket, pipe, or, file.

Group

Set this directive to specify the group who owns the created socket, pipe, or file.

The default is the group set by the global Group directive. This directive does not work on Windows.

Perms

Set this directive to specify the permissions for the created socket, pipe, or file. Enter the value as a four-digit octal number starting with zero.

The default is the operating system’s default permissions. This directive does not work on Windows.

If the path includes non-existent directories, NXLog Agent adds execute permission (allowing directory browsing) to each newly created directory along the path for the current user.

User

Set this directive to specify the user who owns the created socket, pipe, or file.

The default is the user set by the global User directive. This directive does not work on Windows.

Optional directives

CreateDir

If set to TRUE, this optional boolean directive instructs the module to create the directory where the Pipe pipe file is located, if it does not already exist. The default is FALSE.

InputType

This directive is identical to the InputType common module directive.

The default is LineBased, meaning the module expects CRLF as the record terminator on Windows or LF on Unix.

Examples

This example provides the NXLog Agent configuration for processing messages from a named pipe on a UNIX-like operating system.

Example 1. Forwarding Logs From a Pipe to a Remote Host

With this configuration, NXLog Agent reads messages from a named pipe and forwards them via TCP. No additional processing is done.

nxlog.conf
<Input in>
    Module    im_pipe
    Pipe      "tmp/pipe"
</Input>

<Output out>
    Module    om_tcp
    Host      192.168.1.2
    Port      514
</Output>