J'obtiens une erreur de configuration lors du lancement de Logstash. J'utilise la version 7.5.1. Le même fichier de configuration fonctionnait plus tôt. J'ai dû configurer ELK stash sur un autre VM puisque l'ancien VM a été mis hors service, et je suis confronté à cette erreur ici.
J'instancie logstash en utilisant -
logstash-7.5.1\bin\logstash -f logstash-config.conf
.
Fichier de configuration -
#config file
input{
jdbc{
jdbc_driver_library=>"C:\software\ojdbc7.jar"
jdbc_driver_class=>"Java::Oracle.jdbc.driver.OracleDriver"
jdbc_connection_string=>"jdbc:Oracle:thin:@<Host>:1528:TSTIM"
jdbc_user=>"UName"
jdbc_password=>"PWD"
statement=>"SELECT * from TABLE where run_id > 4500"
}
}
output{
elasticsearch{
hosts=>"http://localhost:9200"
index=>"run_id"
document_type=>"TABLEname"
document_id=>"run_id"
user=>"elastic"
password=>"changeme"
}
stdout{
codec=>rubydebug
}
}
.
Erreur -
C:\software>logstash-7.5.1\bin\logstash -f logstash-config.conf
Thread.exclusive is deprecated, use Thread::Mutex
Sending Logstash logs to C:/software/logstash-7.5.1/logs which is now configured via log4j2.properties
[2020-01-08T05:04:33,207][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-01-08T05:04:33,426][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.5.1"}
[2020-01-08T05:04:34,869][ERROR][logstash.agent ] Failed to execute action
{:action=>LogStash::PipelineAction::Create/pipeline_id:main,
:exception=>"LogStash::ConfigurationError",
:message=>"Expected one of [ \t\r\n], "#", "input", "filter", "output" at line 1, column 1 (byte 1)",
:backtrace=>[
"C:/software/logstash-7.5.1/logstash-core/lib/logstash/compiler.rb:41:in compile_imperative'",
"C:/software/logstash-7.5.1/logstash-core/lib/logstash/compiler.rb:49:in compile_graph'",
"C:/software/logstash-7.5.1/logstash-core/lib/logstash/compiler.rb:11:in block in compile_sources'",
"org/jruby/RubyArray.Java:2584:in map'",
"C:/software/logstash-7.5.1/logstash-core/lib/logstash/compiler.rb:10:in compile_sources'",
"org/logstash/execution/AbstractPipelineExt.Java:156:in initialize'",
"org/logstash/execution/JavaBasePipelineExt.Java:47:in initialize'",
"C:/software/logstash-7.5.1/logstash-core/lib/logstash/Java_pipeline.rb:27:in initialize'",
"C:/software/logstash-7.5.1/logstash-core/lib/logstash/pipeline_action/create.rb:36:in execute'",
"C:/software/logstash-7.5.1/logstash-core/lib/logstash/agent.rb:326:in block in converge_state'"
]}
[2020-01-08T05:04:35,510][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
[2020-01-08T05:04:40,325][INFO ][logstash.runner ] Logstash shut down.
Ma faute. Le fichier de configuration contenait de mauvais caractères. Je devais juste nettoyer. Taper à la main le même contenu de configuration sur un autre fichier a fonctionné.