【发布时间】:2019-01-18 08:45:45
【问题描述】:
我实际上在法国的一家大公司工作,我们的目标是通过 NIFI 在 kafka 中获取我们所有服务器(近 1400 台服务器)的 syslog 日志(格式 rfc5424)。我们选择 NIFI 是因为我们希望根据找到的应用名称将日志路由到相关主题。
所以我们会有很多小的流文件。
实际上,我们遇到了性能限制:我们不能摄取超过 5k msg/s 并且我们希望摄取超过 50k msg/s。当然,如果可能的话,我们希望尽可能地处理。
我们有:listenSyslog(批量大小 1 + 启用解析)=> RouteOnAttribute(查找从 appname 获取目标主题)=> PublishKafka。
你能给我一些建议吗?
我正在考虑这个工作流程:ListenSyslog (batchsize 1000 + parsing disabled) => PartitionRecord (grokreader 获取 appname 并转换为 avro,按 appname 分组) => RouteRecord (嵌入查找,用于路由空 appname 或主题未找到)=> PublishKafkaRecord(我知道它将具有多条记录的流文件拆分为每条记录 1 条消息)。
感谢您的帮助。
祝大家新年快乐!
【问题讨论】:
标签: apache-nifi