【问题标题】:Syslog to Kafka : Most performant workflow in NIFI?系统日志到 Kafka:NIFI 中性能最高的工作流程?
【发布时间】: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


    【解决方案1】:

    您在问题末尾建议的流程是正确的,基本上您希望将许多消息批处理到一个流程文件中。

    根据您使用的 NiFi 版本,较新的版本具有 Syslog5424Reader:

    https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-record-serialization-services-nar/1.8.0/org.apache.nifi.syslog.Syslog5424Reader/index.html

    这可能比 GrokReader 更易于使用,请单击其他详细信息链接以查看它生成的架构。

    此外,还有 ListenTCPRecord 和 ListenUDPRecord 可以代替 ListenSyslog 进行试验。因此,您可以使用带有 Syslog5424Reader 和 AvroWriter 的 ListenTCPRecord/ListenUDPRecord,然后继续执行您建议的流程。您必须进行一些测试,看看是只使用 ListenSyslog 还是使用记录变体更好。

    调整 ListenSyslog/ListenTCP/ListenUDP 时要考虑的其他事项:

    https://bryanbende.com/development/2016/05/09/optimizing-performance-of-apache-nifis-network-listening-processors

    【讨论】:

    • 你好布莱恩,我要感谢你的所有建议。我们实施了一个基于“记录”处理器的新工作流程,结果非常惊人。两种思维方式之间的差异如此之大(每个流文件 1 条日志消息与每个流文件 1000 条)。我会尝试放一个截图并解释我在这个线程上做了什么。如果你愿意,我会把模板发给你。
    【解决方案2】:

    如需快速参考,请将您的规格与此吞吐量参考进行比较:

    https://docs.hortonworks.com/HDPDocuments/HDF3/HDF-3.1.1/bk_planning-your-deployment/content/ch_hardware-sizing.html

    如果基于此你的能力似乎足够,我建议如下分析问题,并一一排除可能的嫌疑人:

    1. 摄取了多少个 NIFI 节点?
    2. 增加/减少一个有影响吗?
    3. 哪个处理器是瓶颈(摄取或后续步骤之一)?
    4. 您的来源/网络会成为瓶颈吗?

    【讨论】:

    • 感谢您的回答。事实上,一个节点我们达到了 5k msg/s。我们按照hortonworks的规范搭建这个节点。本节点已通过hortonworks支持审核,无任何投诉。看来我们在listensyslog 中遇到了瓶颈。我们想使用 batchsize 参数,但我们不知道如何路由它们。事实上,今天我们仍然使用批量大小 1 并解析为 yes。我们知道这个处理器是瓶颈。我需要有关工作流程的建议
    猜你喜欢
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2011-10-25
    • 1970-01-01
    相关资源
    最近更新 更多