logstash 如何使用日志隐藏在更短时间内将大量数据从数据库表推送到ElasticSearch

6yt4nkrj  于 2022-12-09  发布在  Logstash
关注(0)|答案(1)|浏览(196)

我正在使用Logstash处理从Postgres数据库到弹性数据库的500 000条记录,但完成该过程需要40分钟。我想减少处理时间,我已经更改了管道。批处理大小:1000,流水线.批处理.延迟:50,并在JVM中将堆空间从1 GB增加到2 GB。同时,选项文件仍在处理记录。
配置文件

input {
  jdbc {
    jdbc_driver_library => "C:\Users\Downloads\elk stack/postgresql-42.3.1.jar" 
    jdbc_driver_class => "org.postgresql.Driver"
    jdbc_connection_string => "jdbc:postgresql://localhost:5432/postgres"
    jdbc_user => "postgres" 
    jdbc_password => "postgres123" 
    statement => "SELECT * FROM jolap.order_desk_activation"
  }
}

output {
    elasticsearch {
        hosts =>["http://localhost:9200/"]
    
        index => "test-powerbi-transformed"
        document_type => "_doc"
    
    }
    stdout {}
}
yzuktlbb

yzuktlbb1#

问题不在于logstash管道或批处理大小。如上所述,获得卷所需的时间更少。
这可以通过使用“并行提示”来实现,它可以使查询超快,因为查询开始使用核心处理器和数据库基础设施(在应用此功能之前,请不要错过咨询您的DBA)。一旦您开始在更短的时间内获得卷记录,您就可以扩展您的日志存储或调整管道设置。请参阅this link

相关问题