【问题标题】:Logstash read a very large number of static xml files ( input file plugin)Logstash 读取非常大量的静态 xml 文件(输入文件插件)
【发布时间】:2017-01-30 17:19:31
【问题描述】:

我在一个目录中有许多大约 100 万个 xml 静态文件。我想用logstash读取和解析这些文件并输出到elasticsearch。 我有下一个输入配置(我尝试了很多方法,这是我的最后一个版本):

input{
 file {
               path => "/opt/lun/data-unzip/ftp/223/*.xml*"
               exclude => "*.zip"
               type => "223-purplan"
               start_position => beginning
               discover_interval => "3"
               max_open_files => "128"
                close_older => "3"
                codec => multiline {
                        pattern => "xml version"
                        negate => true
                        what => "previous"
                        max_lines => "9999"
                        max_bytes => "100 MiB"
                }
       }
}

我的服务器使用 CentOS 6.8 和下一个硬件: 80G内存 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 16 cpu`s

Logstash(5.1.2) 和 elasticsearch(5.1.2) 安装在此服务器中。

这个配置工作很慢 - 大约每秒 4 个文件

我怎样才能做到如此快速的解析?

【问题讨论】:

    标签: elasticsearch logstash


    【解决方案1】:

    很少有方法可以增加logstash 的处理,但是很难指出应该做哪一个。也许您可以尝试增加*pipeline.workers, pipeline.batch.size, and pipeline.batch.delay* 的大小以调整pipeline performance

    并且很少有troubleshooting 方法可以快速诊断和解决 Logstash 性能问题。您还可以尝试通过删除所有过滤器来优化您的输入,然后再次将所有文档发送到 /dev/null 以确保没有处理或输出文档的瓶颈。

    尝试将此行添加到您的file

    sincedb_path => "/dev/null"
    

    您可能还想查看Tuning and Profiling Logstash Performancethis 博客文章。希望能帮助到你!

    【讨论】:

    • 我尝试删除 xpath xml 解析,结果很好 - 超过 100 xml rep sec。解析是一个瓶颈。如何优化 xpath 解析或增加分配给解析的资源量?我尝试调整 pipeline.workers、pipeline.batch.size 和 pipeline.batch.delay,但我没有得到每秒超过 10 xmk 的结果。我认为这对我的服务器来说是非常糟糕的结果。
    猜你喜欢
    • 1970-01-01
    • 2014-07-24
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多