Skip to main content

PutSyslog

Description

Sends Syslog messages to a given host and port over TCP or UDP. Messages are constructed from the "Message ___" properties of the processor which can use expression language to generate messages from incoming FlowFiles. The properties are used to construct messages of the form: (<PRIORITY>)(VERSION )(TIMESTAMP) (HOSTNAME) (BODY) where version is optional. The constructed messages are checked against regular expressions for RFC5424 and RFC3164 formatted messages. The timestamp can be an RFC5424 timestamp with a format of "yyyy-MM-dd'T'HH:mm:ss.SZ" or "yyyy-MM-dd'T'HH:mm:ss.S+hh:mm", or it can be an RFC3164 timestamp with a format of "MMM d HH:mm:ss". If a message is constructed that does not form a valid Syslog message according to the above description, then it is routed to the invalid relationship. Valid messages are sent to the Syslog server and successes are routed to the success relationship, failures routed to the failure relationship.

Tags

logs, put, syslog, tcp, udp

Properties

In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Hostname *HostnamelocalhostThe IP address or hostname of the Syslog server.

Supports Expression Language, using Environment variables.
Protocol *ProtocolUDP
  • TCP
  • UDP
The protocol for Syslog communication.
Port *PortThe port for Syslog communication. Note that Expression language is not evaluated per FlowFile.

Supports Expression Language, using Environment variables.
Max Size of Socket Send Buffer *Max Size of Socket Send Buffer1 MBThe maximum size of the socket send buffer that should be used. This is a suggestion to the Operating System to indicate how big the socket buffer should be. If this value is set too low, the buffer may fill up before the data can be read, and incoming data will be dropped.

Supports Expression Language, using Environment variables.
SSL Context ServiceSSL Context ServiceController Service:
SSLContextService

Implementations:
StandardRestrictedSSLContextService
StandardSSLContextService
The Controller Service to use in order to obtain an SSL Context. If this property is set, syslog messages will be sent over a secure connection.

This property is only considered if:
  • the property Protocol has a value of TCP
Idle Connection Expiration *Idle Connection Expiration5 secondsThe amount of time a connection should be held open without being used before closing the connection.

Supports Expression Language, using Environment variables.
TimeoutTimeout10 secondsThe timeout for connecting to and communicating with the syslog server. Does not apply to UDP. Note that Expression language is not evaluated per FlowFile.

Supports Expression Language, using Environment variables.
Batch Size *Batch Size25The number of incoming FlowFiles to process in a single execution of this processor.

Supports Expression Language, using Environment variables.
Character Set *Character SetUTF-8Specifies the character set of the Syslog messages. Note that Expression language is not evaluated per FlowFile.

Supports Expression Language, using Environment variables.
Message Priority *Message PriorityThe priority for the Syslog messages, excluding < >.

Supports Expression Language, using FlowFile attributes and Environment variables.
Message VersionMessage VersionThe version for the Syslog messages.

Supports Expression Language, using FlowFile attributes and Environment variables.
Message Timestamp *Message Timestamp${now():format('MMM d HH:mm:ss')}The timestamp for the Syslog messages. The timestamp can be an RFC5424 timestamp with a format of "yyyy-MM-dd'T'HH:mm:ss.SZ" or "yyyy-MM-dd'T'HH:mm:ss.S+hh:mm", " or it can be an RFC3164 timestamp with a format of "MMM d HH:mm:ss".

Supports Expression Language, using FlowFile attributes and Environment variables.
Message Hostname *Message Hostname${hostname(true)}The hostname for the Syslog messages.

Supports Expression Language, using FlowFile attributes and Environment variables.
Message Body *Message BodyThe body for the Syslog messages.

Supports Expression Language, using FlowFile attributes and Environment variables.

Dynamic Properties

This component does not support dynamic properties.

Relationships

NameDescription
failureFlowFiles that failed to send to Syslog are sent out this relationship.
invalidFlowFiles that do not form a valid Syslog message are sent out this relationship.
successFlowFiles that are sent successfully to Syslog are sent out this relationship.

Reads Attributes

This processor does not read attributes.

Writes Attributes

This processor does not write attributes.

State Management

This component does not store state.

Restricted

This component is not restricted.

Input Requirement

This component requires an incoming relationship.

System Resource Considerations

This component does not specify system resource considerations.

See Also

ListenSyslog, ParseSyslog