使用jdbc logstash插件从mysql数据库获取数据时出错

时间:2019-07-10 07:33:01

标签: logstash logstash-jdbc

当我尝试使用jdbc logstash插件从mysql db获取数据时,我面临以下错误

[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 :(得分:0)

您将function main() { win = new BrowserWindow({ width: 500, height: 400, webPreferences: { nodeIntegration: true } }); win.loadFile("index.html") // To load local HTML files easily } 与JDBC插件一起使用了吗?
今天,我遇到了同样的问题,并在JDBC插件中添加了sql_last_value

Here是为我找到解决方案的地方。

希望这会对您有所帮助。