ListenTCPRecord
描述:
监听接入的TCP连接并通过配置的<读取服务>中读取数据到每个连接中,然后通过<写入服务>指定的方式写入记录到输出数据流中。设置的<读取服务>将决定客户端发送的数据。例如,当使用Grok服务读取日志时,客户端可以保持打开的连接并连续地处理数据,但是当使用JSON服务读取时, 客户端不能读取一个JSON数组文档并发送数组数据到相同的连接, 基于此,这将是一个比较糟糕的状态. 基于数据块的模式从连接中读取数据记录,并且根据<读超时>设置决定是否超时。如果读取超时,或者读取是有任何错误,则将断掉连接,然后已经读取的数据将根据<读取错误策略>进行处理(丢弃还是传送)。在客户端保持连接打开的情况下, 根据<最大TCP连接数>设置支持多线程任务,并有一个任务处理每个连接。
标签:
listen, tcp, record, tls, ssl, 监听, 记录
参数:
如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.
名字 | 默认值 | 允许值列表 | 描述 |
---|---|---|---|
本地网络接口 | 在特定局域网内,用于限制侦听本地网络接口的名称 支持表达式语言 (仅支持变量) | ||
端口号 | 通信监听端口。 支持表达式语言 (仅支持变量) | ||
Socket缓存大小 | 1 MB | 应使用的套接字缓冲区的最大值。 这是对操作系统的建议,以指示套接字缓冲区应该有多大。 如果此值设置得太低,缓冲区可能会在读取数据之前填满,并且传入的数据将被丢弃。 | |
最大TCP连接数 | 2 | 接受TCP连接的最大并发连接数. 在客户端保持连接打开的情况下, 根据该设置支持多线程任务,并有一个任务处理每个连接。 | |
读超时 | 10 seconds | 当从连接中读取数据时的等待时间 | |
读取服务 | 控制器服务API: RecordReaderFactory 实现: ParquetReader GrokReader SyslogReader Syslog5424Reader CSVReader AvroReader JsonPathReader JsonTreeReader ScriptedReader XMLReader | 用于读取输入数据流数据的服务 | |
写入服务 | 控制器服务API: RecordSetWriterFactory 实现: CSVRecordSetWriter FreeFormTextRecordSetWriter AvroRecordSetWriter JsonRecordSetWriter XMLRecordSetWriter ParquetRecordSetWriter ScriptedRecordSetWriter | 为了在写入数据流数据之前序列化数据的服务 | |
读取错误策略 | 传送 | - 传送 - 丢弃 | 当之前的记录已经从连接中读取,决定如何处理从连接中读取下一个记录时出错后的处理策略。 |
分批数量 | 1000 | 单个数据流可写入记录的最大数量 | |
SSL服务 | 控制器服务API: RestrictedSSLContextService 实现: StandardRestrictedSSLContextService | 用于SSL的服务,设置后,消息将通过加密信道来接收 | |
客户端认证 | 必须 | - 请求 - 必须 - 不需要 | 当使用SSL服务时的客户端认证策略。仅当提供SSL服务设置时有效 |
连线:
名字 | 描述 |
---|---|
success | 成功接收数据后的数据流将输出到此连接 |
读取属性:
未提供。
写入属性:
名字 | 描述 |
---|---|
tcp.sender | 发送数据的主机 |
tcp.port | 该组件接收连接的端口号 |
record.count | 写入数据流的数据记录数 |
mime.type | 写入数据流的记录的MIME类型 |
状态管理:
该组件不保存状态。
限制:
该组件没有限制
输入流要求:
组件禁止提供输入流。
系统资源考量:
未提供。