仅使用Logstash将新数据发送到ES,以防止重复

时间:2018-08-06 15:47:44

标签: elasticsearch logstash

使用Logstash我想知道如何在不重复的情况下将数据发送到ES。这意味着我要发送ES实例中尚不存在的数据,而不要发送实例中已存在的数据。

今天,我要删除ES中特定索引上的所有数据,然后重新发送数据库中的所有数据。这样可以防止重复,但是并不是很理想,因为我必须手动删除数据。

这是我当前正在使用的.config:

input {
    jdbc {
        jdbc_driver_library => "/Users/Carl/Progs/logstash-6.3.0/mysql-connector-java/mysql-connector-java-5.1.46-bin.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://*****"
        jdbc_user => "****"
        jdbc_password => "*****"
        schedule => "0 * * * *"
        statement => "SELECT * FROM carl.customer"
    }
}
filter {
    mutate {convert => { "long" => "float"} }
}
output {
    #stdout { codec => json_lines }
    elasticsearch {
        hosts => "localhost"
        index => "customers"
    }
}

0 个答案:

没有答案