Путь к библиотеке драйвера MSSQL JDBC не распознается при использовании ~ / при запуске Logstash вручную - PullRequest
0 голосов
/ 07 ноября 2019

В настоящее время пытаются заполнить индекс сотрудника следующими настройками:

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 {
}

ПРИМЕЧАНИЕ: filter и вывод разделов файла conf преднамеренно пуст

КОМАНДА LINUX

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

РЕЗУЛЬТАТ enter image description here Похоже, logstash не знает или не имеет доступа к ~ / sqljdbc ... *. Jar

Я также подтвердил, что mssql-jdbc-6.2.1.jre8.jar существует enter image description here

Однако, когда я изменил путь на / home / ubuntu / sqljdbc_6.2 / enu / mssql-jdbc-6.2.1.jre8.jar, он работает успешно.

То есть ~ / совпадает с / home / ubuntu

Это начало происходить после обновления нашегоЭластичный стек от v5.5 до v5.6. Также обратите внимание, что этого не произойдет, если мы запустим один и тот же файл conf со службой logstash.

...