0

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

会议

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 文件的过滤器输出部分故意为空白

Linux 命令

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

结果 在此处输入图像描述 看起来logstash 不知道或无权访问~/sqljdbc...*.jar

我还确认了mssql-jdbc-6.2.1.jre8.jar存在 在此处输入图像描述

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

所以~/和/home/ubuntu是一样的

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

4

0 回答 0