Unix Domain Sockets (im_uds)
This module allows log messages to be received over a Unix domain socket. Unix systems traditionally have a /dev/log or similar socket used by the system logger to accept messages. Applications use the syslog(3) system call to send messages to the system logger.
To examine the supported platforms, see the list of installer packages in the Available Modules chapter. |
It is recommended to disable FlowControl when this module is used to collect local Syslog messages from the /dev/log Unix domain socket. Otherwise, if the corresponding Output queue becomes full, the syslog() system call will block in any programs trying to write to the system log and an unresponsive system may result. |
For parsing Syslog messages, see the pm_transformer module or the parse_syslog_bsd() procedure of xm_syslog.
Configuration
The im_uds module accepts the following directives in addition to the common module directives.
- UDS
-
This specifies the path of the Unix domain socket. The default is
/dev/log
.
- CreateDir
-
If set to TRUE, this optional boolean directive instructs the module to create the directory where the UDS socket file is located, if it does not already exist. The default is FALSE.
- Group
-
Use this directive to set the group ownership for the created socket or pipe or file. By default, this is the group NXLog is running as, (which may be specified by the global Group directive). This directive is not currently supported on Windows.
- Perms
-
This directive specifies the permissions to use for the created socket or pipe or file. This must be a four-digit octal value beginning with a zero. By default, OS default permissions will be set. This directive is not currently supported on Windows.
- UDSType
-
This directive specifies the domain socket type. Supported values are
dgram
andstream
. The default isdgram
.
- User
-
Use this directive to set the user ownership for the created socket or pipe or file. By default, this is the user NXLog is running as (which may be specified by the global User directive). This directive is not currently supported on Windows.
Examples
This configuration will accept logs via the specified socket and write them to file.
<Input uds>
Module im_uds
UDS /dev/log
FlowControl False
</Input>
This configuration accepts logs via the specified socket, and also specifies ownership and permissions to use for the socket.
<Input uds>
Module im_uds
UDS /opt/nxlog/var/spool/nxlog/socket
UDSOwner root
UDSGroup adm
UDSPerms 0660
</Input>