Syslogd¶
The syslogd consumer creates a syslogd-compatible log server and receives messages on a TCP or UDP port or a UNIX filesystem socket.
Parameters¶
Enable (default: true)
Switches this plugin on or off.
Address
Defines the IP address or UNIX socket to listen to. This can take one of the four forms below, to listen on a TCP, UDP or UNIX domain socket. However, see the “Format” option for details on transport support by different formats.
- [hostname|ip]:<tcp-port>
- tcp://<hostname|ip>:<tcp-port>
- udp://<hostname|ip>:<udp-port>
- unix://<filesystem-path>
By default this parameter is set to “udp://0.0.0.0:514”
Format
Defines which syslog standard the server will support. Three standards, listed below, are currently available. All standards support listening to UDP and UNIX domain sockets. RFC6587 additionally supports TCP sockets. Default: “RFC6587”.
- RFC3164 (https://tools.ietf.org/html/rfc3164) - unix, udp
- RFC5424 (https://tools.ietf.org/html/rfc5424) - unix, udp
- RFC6587 (https://tools.ietf.org/html/rfc6587) - unix, upd, tcp
By default this parameter is set to “RFC6587”.
Permissions (default: 0770)
This value sets the filesystem permissions as a four-digit octal number in case the address is a Unix domain socket (i.e. unix://<filesystem-path>). By default this parameter is set to “0770”.
SetMetadata (default: false)
When set to true, syslog based metadata will be attached to the message. The metadata fields added depend on the protocol version used. RFC3164 supports: tag, timestamp, hostname, priority, facility, severity. RFC5424 and RFC6587 support: app_name, version, proc_id , msg_id, timestamp, hostname, priority, facility, severity. By default this parameter is set to “false”.
TimestampFormat (default: 2006-01-02T15:04:05.000 MST)
When using SetMetadata this string denotes the go time format used to convert syslog timestamps into strings. By default this parameter is set to “2006-01-02T15:04:05.000 MST”.
Parameters (from core.SimpleConsumer)¶
Streams
Defines a list of streams a consumer will send to. This parameter is mandatory. When using “*” messages will be sent only to the internal “*” stream. It will NOT send messages to all streams. By default this parameter is set to an empty list.
ShutdownTimeoutMs (default: 1000, unit: ms)
Defines the maximum time in milliseconds a consumer is allowed to take to shut down. After this timeout the consumer is always considered to have shut down. By default this parameter is set to 1000.
Modulators
Defines a list of modulators to be applied to a message before it is sent to the list of streams. If a modulator specifies a stream, the message is only sent to that specific stream. A message is saved as original after all modulators have been applied. By default this parameter is set to an empty list.
ModulatorRoutines
Defines the number of go routines reserved for modulating messages. Setting this parameter to 0 will use as many go routines as the specific consumer plugin is using for fetching data. Any other value will force the given number fo go routines to be used. By default this parameter is set to 0
ModulatorQueueSize
Defines the size of the channel used to buffer messages before they are fetched by the next free modulator go routine. If the ModulatorRoutines parameter is set to 0 this parameter is ignored. By default this parameter is set to 1024.
Examples¶
Replace the system’s standard syslogd with Gollum
SyslogdSocketConsumer:
Type: consumer.Syslogd
Streams: "system_syslog"
Address: "unix:///dev/log"
Format: "RFC3164"
Listen on a TCP socket
SyslogdTCPSocketConsumer:
Type: consumer.Syslogd
Streams: "tcp_syslog"
Address: "tcp://0.0.0.0:5599"
Format: "RFC6587"