UDP (im_udp)
This module accepts UDP datagrams on the configured address and port. UDP is the transport protocol of the legacy BSD Syslog as described in RFC 3164, so this module can be particularly useful to receive such messages from older devices that do not support other protocols.
| To examine the supported platforms, see the list of installation packages. |
| UDP is an unreliable transport protocol and does not guarantee delivery. Messages may not be received or may be truncated. It is recommended to use the TCP or SSL transport modules instead, if possible. |
To reduce the likelihood of message loss, consider:
-
increasing the socket buffer size with SockBufSize,
-
raising the route priority by setting the Priority directive (to a low number such as 1), and
-
adding additional buffering by increasing the LogqueueSize or adding a pm_buffer instance.
| This module does not provide access control. Firewall rules can be used to deny connections from certain hosts. |
For parsing syslog messages, see the parse_syslog_bsd() procedure of the xm_syslog module.
Configuration
The im_udp module accepts the following directives in addition to the common module directives.
Optional directives
Set this directive to the IP address or DNS hostname on which the module accepts connections.
The default is Append the port number to the address using a colon separator ( You can specify this directive multiple times to accept connections on multiple addresses or ports within a single module instance. Set IPv4 and IPv6 addresses as separate entries. If you use a DNS name, keep the number of addresses or CNAMEs below 16 to avoid errors caused by DNS response size limits. |
|
Set this directive to restrict incoming connections to specific IP addresses or networks.
You can specify this directive multiple times to allow multiple IPs or networks.
If The following IP address formats may be used:
|
|
Set this directive to deny incoming connections from specific IP addresses or networks.
You can specify this directive multiple times to deny multiple IPs or networks.
If The following IP address formats may be used:
|
|
Set this directive to limit the number of concurrent active connections for a listening TCP socket.
The default is
|
|
Set this directive to close TCP connections that have been idle for longer than the specified number of seconds. The minimum value is 15 seconds. If this directive is not set, the module keeps idle TCP connections open indefinitely. |
|
Set this directive to The default is This directive is only supported on Windows. |
|
Set this directive to The default is |
|
Set this directive to The default is This directive is not supported on Windows. |
|
This optional directive sets the socket buffer size (SO_RCVBUF) to the value specified.
If not set, the operating system defaults are used.
If UDP packet loss is occurring at the kernel level, setting this to a high value (such as |
|
This boolean directive specifies that the |
|
This optional directive allocates space in the module buffer in order to fit the declared amount of UDP datagrams in the buffer at the same time. The value should be in the range 1 ⇐ amount ⇐ 100. If not set, the default value 10 is used. |
Examples
This configuration accepts log messages via UDP and writes them to a file.
<Input udp>
Module im_udp
ListenAddr 192.168.1.1:514
</Input>
<Output file>
Module om_file
File "tmp/output"
</Output>
<Route udp_to_file>
Path udp => file
</Route>
The configuration below provides two im_udp module instances to reuse port 514 via the ReusePort directive.
Received messages are written to the /tmp/output file.
<Input udp_one>
Module im_udp
ListenAddr 192.168.1.1:514
ReusePort TRUE
</Input>
<Input udp_two>
Module im_udp
ListenAddr 192.168.1.1:514
ReusePort TRUE
</Input>
<Output file>
Module om_file
File "tmp/output"
</Output>
<Route udp_to_file>
Path udp_one, udp_two => file
</Route>