我正在运行一个logstash实例,该实例从kafka读取一些记录并将它们插入到elasticsearch中。 我遇到了弹性搜索配置问题,并且没有新记录被插入到elasticsearch中。
最终我能够修复elasticsearch输出。但即使弹性搜索输出无法写入记录,logstash也没有停止从kafka读取更多数据。 因此,当我重新启动logstash时,它没有从上一次成功的kafka偏移中获取。基本上我丢失了所有记录,因为elasticsearch输出停止了写记录。
我怎样才能避免再次发生这种情况?当输出出错时,有没有办法停止整个管道?
我简化的配置文件:
input {
kafka {
zk_connect => "zk01:2181,zk02:2181,zk03:2181/kafka"
topic_id => "my-topic"
auto_offset_reset => "smallest"
group_id => "logstash-es"
codec => "json"
}
}
output {
elasticsearch {
index => "index-%{+YYYY-MM-dd}"
document_type => "dev"
hosts => ["elasticsearch01","elasticsearch02","elasticsearch03","elasticsearch04","elasticsearch05","elasticsearch06"]
template => "/my-template.json"
template_overwrite => true
manage_template => true
}
}