В настоящее время пытаются заполнить индекс сотрудника следующими настройками:
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
РЕЗУЛЬТАТ Похоже, 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
Это начало происходить после обновления нашегоЭластичный стек от v5.5 до v5.6. Также обратите внимание, что этого не произойдет, если мы запустим один и тот же файл conf со службой logstash.