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”) 是理想的,除非您使用的是非线程安全的多行{}过滤器。
我使用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”) 是理想的,除非您使用的是非线程安全的多行{}过滤器。