ListenSyslog 2025.5.31.15

捆绑包

org.apache.nifi | nifi-standard-nar

描述

监听通过 TCP 或 UDP 发送到给定端口的 Syslog 消息。根据 RFC5424 和 RFC3164 格式化消息的正则表达式检查传入的消息。每条消息的格式为:(<PRIORITY>) (VERSION) (TIMESTAMP) (HOSTNAME) (BODY),其中 version 是可选的。时间戳可以是格式为“yyyy-MM-dd'T'HH:mm:ss.SZ”或“yyyy-MM-dd'T'HH:mm:ss.S+hh:mm”的 RFC5424 时间戳,也可以是格式为“MMM d HH:mm:ss”的 RFC3164 时间戳。如果传入的消息与这些模式之一相匹配,则系统会解析该消息,并将各个部分放入 FlowFile 属性中,原始消息位于 FlowFile 的内容中。如果传入的消息与这些模式之一不匹配,则不会解析该消息,并且 syslog.valid 属性将设置为 false,原始消息位于 FlowFile 的内容中。有效的消息将传输到 success 关系,无效的消息将传输到 invalid 关系。

标签

listen、logs、syslog、tcp、udp

输入要求

FORBIDDEN

支持敏感的动态属性

false

属性

属性

描述

字符集

指定 Syslog 消息的字符集。请注意,表达式语言不按 FlowFile 进行求值。

客户端身份验证

用于 SSL Context 的客户端身份验证策略。仅在提供 SSL Context Service 时使用。

本地网络接口

本地网络接口的名称,用于限制对特定 LAN 的监听。

最大批处理大小

添加到单个 FlowFile 的 Syslog 事件的最大数量。如果有多个事件可用,则使用 <Message Delimiter> 将这些事件合并在一起,但不能超过此配置的最大消息数

最大 TCP 连接数

在 TCP 模式下接受 Syslog 消息的最大并发连接数。

消息队列的最大大小

内部队列的最大大小,用于缓冲从底层通道传输到处理器的消息。将此值设置得较高可在传入消息大量涌入时将更多消息缓冲到内存中,但会增加处理器的总内存使用量。

套接字缓冲区的最大大小

应使用的套接字缓冲区的最大大小。此值用于向操作系统建议套接字缓冲区的大小。如果此值设置过低,缓冲区可能在数据读取之前就已填满,导致传入的数据被丢弃。

消息分隔符

指定当将多条消息连接在一起时,在 Syslog 消息之间放置的分隔符(参见 <Max Batch Size> 属性)。

解析消息

表示处理器是否应解析 Syslog 消息。如果设置为 false,则每个传出的 FlowFile 将仅包含发送者、协议和端口,不包含其他属性。

端口

用于 Syslog 通信的端口。请注意,表达式语言不按 FlowFile 进行求值。

协议

用于 Syslog 通信的协议。

接收缓冲区大小

用于接收 Syslog 消息的每个缓冲区的大小。根据传入的 Syslog 消息的预期大小适当调整此值。选择 UDP 时,每个缓冲区将保存一条 Syslog 消息。选择 TCP 时,将从传入连接读取消息,直到缓冲区已满或连接关闭。

SSL Context Service

用于获取 SSL Context 的控制器服务。如果设置了此属性,则将通过安全连接接收 Syslog 消息。

socket-keep-alive

是否开启 TCP 套接字保持活动状态。时间安排详细信息取决于操作系统的属性。

关系

名称

描述

invalid

与预期格式之一不匹配的 Syslog 消息将在每条消息中作为 FlowFile 发送出此关系。

success

与预期格式之一匹配的 Syslog 消息将在每条消息中作为 FlowFile 发送出此关系。

写入属性

名称

描述

syslog.priority

Syslog 消息的优先级。

syslog.severity

Syslog 消息的严重性,从优先级派生。

syslog.facility

Syslog 消息的设施,从优先级派生。

syslog.version

来自 Syslog 消息的可选版本。

syslog.timestamp

Syslog 消息的时间戳。

syslog.hostname

Syslog 消息的主机名或 IP 地址。

syslog.sender

发送消息的 Syslog 服务器的主机名。

syslog.body

Syslog 消息的正文,主机名后面的所有内容。

syslog.valid

指示此消息是否符合预期格式的指示器。如果此值为 false,则其他属性将为空,内容中只有原始消息可用。

syslog.protocol

接收 Syslog 消息时使用的协议。

syslog.port

接收 Syslog 消息的端口。

mime.type

Syslog 消息的 FlowFile(其将为 text/plain)的 mime.type。

另请参阅

语言: 中文