ОШИБКА при получении данных из базы данных mysql с использованием плагина jdbc logstash - PullRequest
1 голос
/ 10 июля 2019

Когда я пытаюсь извлечь данные из базы данных mysql с помощью плагина jdbc logstash, я сталкиваюсь с ошибкой ниже

[2019-07-10T07:34:31,806][ERROR][logstash.javapipeline ] Pipeline aborted due to error {:pipeline_id=>"main", :exception=>#<TypeError: no implicit conversion of Integer into String>

Ниже приведен файл конфигурации logstash

input{
  jdbc {
    jdbc_driver_library => "/usr/share/jdbc_driver/mysql-connector-java-5.1.47.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://<dbname>:3306/<tablename>"
    jdbc_user => "<username>"
    jdbc_password => "<password>"
    statement => "select * from spt_entitlement_snapshot"

  }
}

filter {

   mutate {
        convert => { "account_only" => "integer" }
    }
}


output{

      elasticsearch {
           hosts => ["localhost:9200"]
           index => "agco-entitlements-mysql"
           document_id => "%{id}"
     }

       stdout {
          codec => rubydebug
   }

}

При работе с другими таблицами возникает проблема с одной конкретной таблицей

1 Ответ

0 голосов
/ 18 июля 2019

Использовали ли вы sql_last_value с вашим плагином JDBC?
У меня была такая же проблема сегодня, и я исправил ее, добавив clean_run => true в плагин JDBC.

Здесь где я нашел решение для меня.

Надеюсь, это поможет вам.

...