logstash nil导入错误
我尝试在logstash中导入数据时出错。我在我所有的“地理”领域都看到了它。下面是我的一些配置文件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
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