如何在发生输出错误时停止logstash输入

时间:2016-05-17 10:10:50

标签: elasticsearch logstash apache-kafka

我正在运行一个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
            }
}

0 个答案:

没有答案