logstash nil导入错误

logstash nil导入错误,logstash,logstash-configuration,Logstash,Logstash Configuration,我尝试在logstash中导入数据时出错。我在我所有的“地理”领域都看到了它。下面是我的一些配置文件 input { jdbc { jdbc_driver_library => "c:\binaries\driver\ojdbc6.jar" jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver" jdbc_connection_string => "jdbc

我尝试在logstash中导入数据时出错。我在我所有的“地理”领域都看到了它。下面是我的一些配置文件

input {
    jdbc {
        jdbc_driver_library => "c:\binaries\driver\ojdbc6.jar"
        jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
        jdbc_connection_string => "jdbc:oracle:thin:@random:1521/random"
        jdbc_user => "user"
        jdbc_password => "password"

        statement => "select a.*, myfunc() as geo from foo a"

        type => "sometype"
    }
}

filter{
    if [type] == "sometype" {
        mutate {
            rename => { "sometype_id" => "id" }
            remove_field => ["gdo_geometry"]
            add_field => [ "display", "%{id}" ]
        }

        # parses string to json
        json{
            source => "geo"
            target => "geometry"
        }
    }
}

output {
    if [type] == "sometype" {
        elasticsearch {
            hosts => ["myesbox:80"]
            document_id => "%{id}"
            index => "sjw"
        }
    }
}
这是第二个

input {
    jdbc {
        jdbc_driver_library => "c:\binaries\driver\ojdbc6.jar"
        jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
        jdbc_connection_string => "jdbc:oracle:thin:@random:1521/random"
        jdbc_user => "user"
        jdbc_password => "password"

        statement => "select a.*, myfunc() as geo from foo2 a"

        type => "sometype2"
    }
}

filter{
    if [type] == "sometype2" {
        mutate {
            rename => { "sometype2_id" => "id" }
            remove_field => ["gdo_geometry"]
            add_field => [ "display", "%{id}" ]
        }

        # parses string to json
        json{
            source => "geo"
            target => "geometry"
        }
    }
}

output {
    if [type] == "sometype2" {
        elasticsearch {
            hosts => ["myesbox:80"]
            document_id => "%{id}"
            index => "sjw"
        }
    }
}
下面是错误消息(对数据库表中的每条记录重复一次)

现在有趣的是,该字段似乎成功导入。我可以看到数据按预期填充。但我不知道为什么会产生这个警告。我在经营这个仓库

logstash -f /my/logstash/dir

另外值得注意的是,如果我修改了给定的第一个配置文件,并将源json过滤器名称改为“geom”而不是“geo”,则不会再出现此警告。似乎只有当我有多个配置文件具有相同的字段/json过滤器组合时才会出现这种情况。因此,如果我添加了第三个配置文件,并且json过滤器解析了一个“geo”字段,那么问题再次出现——尽管我仍然看不到第一个配置文件的任何警告消息——只有第二个和第三个。

这里的问题实际上是logstash 2.0版本的一个bug。我不确定到底是什么问题,但升级到2.1解决了这个问题

logstash -f /my/logstash/dir