logstash没有足够快的输出到elasticsearch

时间:2015-04-13 05:36:12

标签: elasticsearch logstash

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

这是我的配置:

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
  }
}

1 个答案:

答案 0 :(得分:0)

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

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