首页 > 解决方案 > Logstash“A plugin has an unrecoverable”错误如何解决?

问题描述

我正在尝试将数据推送到来自带有 Logstash 的 kafka 主题的弹性搜索中,但是当我启动我的 logstash 时遇到了这个问题

错误代码:插件出现不可恢复的错误

如何解决这个问题?配置文件如下。

 `input{
   kafka{
bootstrap_servers =>"localhosts:9092"
topics => ["cars"]
       }
  }
 filter{
   csv {
       separator =>","

    columns => [ "maker", "model", "mileage", "manufacture_year", "engine_displacement", "engine_power", "body_type", "color_slug", "stk_year", "transmission", "door_count", "seat_count", "fuel_type", "date_created", "date_last_seen", "price_eur" ]

      } 
   mutate {convert => ["mileage", "integer"] }
   mutate {convert => ["price_eur", "float"] }
   mutate {convert => ["engine_power", "integer"] }
   mutate {convert => ["door_power", "integer"] }
   mutate {convert => ["seat_count", "integer"] }
   }
  output{
      elasticsearch {
      hosts => ["localhost:9200"]
      index => "cars1"
      document_type=>"sold_cars"
      }
         stdout{}
      }`

标签: elasticsearchapache-kafkalogstash

解决方案


mutate 过滤器是一个哈希,而convert不是一个数组:https ://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-filters-mutate-convert

试试这样:

input {
    kafka {
        bootstrap_servers => "localhost:9092"
        topics => ["cars"]
    }
}

filter {
    csv {
        separator => ","
        columns => ["maker", "model", "mileage", "manufacture_year", "engine_displacement", "engine_power", "body_type", "color_slug", "stk_year", "transmission", "door_count", "seat_count", "fuel_type", "date_created", "date_last_seen", "price_eur"]
    }
    mutate {
        convert => {
            "mileage" => "integer"
            "price_eur" => "float"
            "engine_power" => "integer"
            "door_power" => "integer"
            "seat_count" => "integer"
        }
    }
}
output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "cars1"
        document_type => "sold_cars"
    }
    stdout {}
}

您也可以convert在 csv 过滤器内部使用,如下所示:

csv {
    separator => ","
    columns => ["maker", "model", "mileage", "manufacture_year", "engine_displacement", "engine_power", "body_type", "color_slug", "stk_year", "transmission", "door_count", "seat_count", "fuel_type", "date_created", "date_last_seen", "price_eur"]
    convert => {
        "mileage" => "integer"
        "price_eur" => "float"
        "engine_power" => "integer"
        "door_power" => "integer"
        "seat_count" => "integer"
    }
}

推荐阅读