does pipeline.batch.delay control elasticsearch in output? it seems to be working on plugins in filter section. I've set the value to 5, but not able to see indices got updated in a min.
Are there other controls for elasticsearch?
Thanks
Here are more info about the problem:
output {
#stdout { codec => rubydebug }
file {
path => "./mylog.out"
}
elasticsearch {
hosts => ["${ES_HOST:http://localhost:9200}"]
index => "mylog-logs-%{+YYYY.MM}"
user => "${ES_USER:}"
password => "${ES_PASS:}"
manage_template => true
template => "templates/template.json"
template_overwrite => true
}
I have a poller to read in logs periodically - every minute. In filter stage, i've inserted ruby plugin to debug the flow. The ruby scripts ran w/o buffering. I could see messages every time the flow passes ruby code. But output stage not executed until after filter stage got hit few rounds. When output stage ran, I could see related info dumped in console, file and Kibana.
I also checked output elasticsearch source, but couldn't figure out how the buffering works.