jdbc - MYSQL 的 Logstash Jdbc 输入插件

标签 jdbc logstash

我在 Windows 中使用 Logstash。我无法安装输入 jdbc 插件,所以我手动下载了 zip 文件,并将插件中的 logstash 文件夹放入我的 logstash-1.5.2 文件夹中。 文件夹结构-“D:\elastic search\logstash-1.5.2\lib\logstash\inputs\jdbc.rb”。

我的配置文件

input {
   jdbc {
     jdbc_driver_library => "D:/elastic search/logstash-1.5.2/lib/mysql-connector-java-5.1.13-bin.jar"
     jdbc_driver_class => "com.mysql.jdbc.Driver"
     jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
     jdbc_user => "root"
    jdbc_password => ""
    statement => "SELECT * from data"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "50000"
   }
 }

output {  
stdout { codec => rubydebug }
    elasticsearch { 
       embedded => true
       index => "bike"
       type => "bikeapp"
       cluster =>"trailcluster"
        protocol => "http"
       port => "9200"

    }
}

当我运行 logstash 时出现错误

D:\elastic search\logstash-1.5.2\bin>logstash -f logtest.conf
io/console not supported; tty will not be manipulated
←[33mjdbc plugin doesn't have a version. This plugin isn't well
 supported by the community and likely has no maintainer. {:level=>:warn}←[0m
←[33mYou are using a deprecated config setting "type" set in elasticsearch. Deprecated settings will continue to work, but are scheduled for removal from logstash in the future. You can achieve this same behavior with the new
 conditionals, like: `if [type] == "sometype" { elasticsearch { ... } }`. If you have any questions about this, please visit the #logstash channel on freenode irc. {:name=>"type", :plugin=><LogStash::Outputs::ElasticSearch --
->, :level=>:warn}←[0m
LoadError: no such file to load -- sequel
                  require at org/jruby/RubyKernel.java:1072
                  require at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/polyglot-0.3.5/lib/polyglot.rb:65
  prepare_jdbc_connection at D:/elastic search/logstash-1.5.2/lib/logstash/plugin_mixins/jdbc.rb:65
                 register at D:/elastic search/logstash-1.5.2/lib/logstash/inputs/jdbc.rb:144
             start_inputs at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.2.2-java/lib/logstash/pipeline.rb:148
                     each at org/jruby/RubyArray.java:1613
             start_inputs at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.2.2-java/lib/logstash/pipeline.rb:147
                      run at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.2.2-java/lib/logstash/pipeline.rb:80
              synchronize at org/jruby/ext/thread/Mutex.java:149
                      run at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.2.2-java/lib/logstash/pipeline.rb:80
                  execute at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.2.2-java/lib/logstash/agent.rb:150
                      run at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.2.2-java/lib/logstash/runner.rb:91
                     call at org/jruby/RubyProc.java:271
                      run at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.2.2-java/lib/logstash/runner.rb:96
                     call at org/jruby/RubyProc.java:271
               initialize at D:/elastic search/logstash-1.5.2/vendor/bundle/jruby/1.9/gems/stud-0.0.20/lib/stud/task.rb:12

最佳答案

将 Jar 文件添加到 Plugin fodler 后,您只需转到 CMD Prompt 中的文件夹路径,然后使用以下命令将插件安装到 logstash

在已安装的 Logstash 中运行:

构建你的插件 gem

gem build logstash-input-jdbc.gemspec

从 Logstash 主页安装插件

bin/plugin install /your/local/plugin/logstash-input-jdbc.gem

最后,启动 Logstash 并使用您正在使用的配置继续测试插件....

关于jdbc - MYSQL 的 Logstash Jdbc 输入插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31611171/

相关文章:

java - 无法转换为内部表示 JDBC

postgresql - 存储字节数组时 Scala Anorm Postgresql 错误

java - 如何定义grok过滤?

elasticsearch - 如何在Grok Logstash中获得Json

elasticsearch - 在Kibana4中将Nginx访问日志字节转换为数字

json - 从日志Logstash提取JSON

ruby - 使用 ruby​​ 而非 jruby 的 JDBC 连接

java - java中的日期时间

java - 管理 Oracle BFILES

elasticsearch - 如果日志中的文档时间字段早于文档中的当前时间字段,则Logstash会忽略文档更新