Hello,
here is my sample input.conf:
input {
jdbc {
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://x.x.x.x;databaseName=DB;user=user;password=pass;"
jdbc_user => "user"
jdbc_password => "pass"
schedule => "45 17 * * *"
statement =>" some query"
}
}
filter{
date
{
match => [ "SendTime", "yyyy-MM-dd" ]
target => "SendTime"
}
}
output{
stdout {codec => rubydebug}
elasticsearch{
hosts=>"x.x.x.x:9200"
index=>"index"
}
}
the config works just fine if I run it as /usr/share/logstash/bin/logstash -f input.conf
. and it successfully writing into index, but the problem startd when I add the path into the pipelines.yml. I have 4 running pipelines and this is one of it.
- pipeline.id: pipe1
path.config: "/path1"
- pipeline.id: invoice_sends
path.config: "/etc/logstash/input/input.conf"
- pipeline.id: pipe2
path.config: "/path2"
- pipeline.id: pipe3
path.config: "/path3"
when I check the log, no error shown.
[2021-07-05T10:27:08,830][INFO ][logstash.javapipeline ][invoice_sends] Pipeline Java execution initialization time {"seconds"=>1.94}
[2021-07-05T10:27:09,201][INFO ][logstash.javapipeline ][invoice_sends] Pipeline started {"pipeline.id"=>"invoice_sends"}
bottom of log
[2021-07-05T10:40:18,567][INFO ][logstash.agent ] Pipelines running {:count=>4, :running_pipelines=>[pipe1, :email_traffic, pipe2, pipe3], :non_running_pipelines=>[]}
This is my first time running jdbc input, and I use the very minimal config. Am I missing some part to start it as service?
update
It runs but not by the scheduled time.