手动运行Logstash时使用〜/时,无法识别MSSQL JDBC驱动程序库路径

当前尝试使用以下设置填充员工索引:

CONF

input {
  jdbc {
    jdbc_driver_library => "~/sqljdbc_6.2/enu/mssql-jdbc-6.2.1.jre8.jar"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    jdbc_connection_string => "jdbc:sqlserver://SERVER;user=USER;password=PASSWORD"
    jdbc_user => "DB_USER"
    jdbc_password => "DB_PASSWORD"
    jdbc_validate_connection => true
    jdbc_validation_timeout => -1
    statement => "SELECT * FROM [dbo].Employee ORDER BY ID"
    type => "employee"
  }
}
filter {
}
output {
}

注意:conf文件的 filter output 部分故意空白

LINUX命令

sudo /usr/share/logstash/bin/logstash -f /home/ubuntu/Employee-pipeline.conf --path.settings /etc/logstash/ --path.data /var/lib/logstash_new

结果

手动运行Logstash时使用〜/时,无法识别MSSQL JDBC驱动程序库路径

看起来Logstash不知道或没有访问〜/ sqljdbc ... *。jar

的权限

我还确认了 mssql-jdbc-6.2.1.jre8.jar 存在

手动运行Logstash时使用〜/时,无法识别MSSQL JDBC驱动程序库路径

但是,当我将路径更改为 /home/ubuntu/sqljdbc_6.2/enu/mssql-jdbc-6.2.1.jre8.jar 时,它会成功运行。

所以〜/ / home / ubuntu

相同

这是在将我们的Elastic Stack从v5.5升级到v5.6之后开始发生的。另外,请注意,如果我们使用logstash服务运行相同的conf文件,则不会发生这种情况。

digohao 回答:手动运行Logstash时使用〜/时,无法识别MSSQL JDBC驱动程序库路径

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3144242.html

大家都在问