logstash 输出到 elasticsearch 的速度不够快

logstash not fast enough output to elasticsearch

我使用logstash作为索引器将数据从redis输出到elasticsearch,但由于数据量大,速度不够快。然后我使用了 mutil workers,但它会导致各种问题。还有其他更好的方法来做更快的输出吗?谢谢

这是我的配置:

input {
  redis {
    host => "10.240.93.41"
    data_type => "list"
    key => "tcpflow"
  }
}
filter {
  csv {
    columns => [ts,node,clientip,vip,rtt,city,isp,asn,province]
    separator => "|"
  }
}

output {
  elasticsearch {
    index => "tcpflow-%{+YYYY.MM.dd}"
    index_type => "tcpflow"
    cluster => "elasticsearch"
    host => ["10.240.93.41", "10.240.129.32"]
    #protocol => "node"
    #protocol => "http"
    #port => 8200
    protocol => "transport"
    manage_template => false
    workers => 30
  }
}

logstash中的redis{}输入默认一次读取一个文档。尝试将 batch_count 设置为 100-1000 范围内的值,具体取决于文档的大小。

拥有多个工作线程 (“-w”) 是理想的,除非您使用的是非线程安全的多行{}过滤器。