首页 > 解决方案 > 将 MYSQL 与 logstash 连接时出错

问题描述

我在启动logstash时遇到了这个错误。我已将 MYSQL db 配置为 logstash 中的输入。

 Pipeline_id:main
  Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"admin", jdbc_password=><password>, statement=>"SELECT * from table", jdbc_driver_library=>"/usr/s$
  Error: Permission denied - /.logstash_jdbc_last_run
  Exception: Errno::EACCES
  Stack: org/jruby/RubyIO.java:1237:in `sysopen'
org/jruby/RubyIO.java:3800:in `write'

标签: mysqlelasticsearchamazon-elastic-beanstalklogstashlogstash-configuration

解决方案


last_run_metadata_path 选项默认为“#{ENV['HOME']}/.logstash_jdbc_last_run”,它看起来像是 /.logstash_jdbc_last_run。您获得 EACCES 是因为您没有对根目录的写入权限。

要修复它,请将 last_run_metadata_path 选项设置为您具有写入权限的目录中的文件。如果您的输入配置以

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"

你可以在那里添加一个额外的行

    last_run_metadata_path => "/tmp/.logstash_jdbc_last_run"

使用一些你知道你可以写入并且没有其他人会使用的路径。


推荐阅读