Hi ,
I have installed Logstash 7.1.0 as a service in Windows through NSSM. I haven't provided any Arguments in NSSM.
And In the pipelines.yml, I set different pipelines just by enabling
- pipeline.id: dataupdate
path.config: "D:\logstash-7.1.0\logstash-7.1.0\bin\myupdate.conf"
- pipeline.id: groklogs
path.config: "D:\logstash-7.1.0\logstash-7.1.0\bin\logs.conf"
When I start the service, the conf files don't seem to be running. I assumed that when you give no arguments in NSSM, the pipelines.yml will be directed to the execution.
What I need is to run multiple conf files in my logstash service without having any interruption. If I run in cmd, it'll stop the moment I close cmd, I do not want that. Here's the contents of the config files:
logs.conf:
input {
beats {
port => 5044
}
}
filter {
grok {
match => {"message" =>"\[%{TIMESTAMP_ISO8601:timestamp}\]%{SPACE}\[%{DATA:Severity}\]%{SPACE}\[%{DATA:Plugin}\]%{SPACE}\[%{DATA:Servername}\](?<short_message>(.|\r|\n)*)"}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "groklogs"
}
stdout { codec => rubydebug }
}
myupdate.conf:
input {
jdbc {
jdbc_connection_string => "jdbc:sqlserver://mydb:1433;databasename=db01;integratedSecurity=true"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_driver_library => "C:\Program Files\sqljdbc_6.2\enu\mssql-jdbc-6.2.2.jre8.jar"
jdbc_user => nil
statement => "SELECT * from agedata WHERE updated_on > :sql_last_value ORDER BY updated_on"
use_column_value =>true
tracking_column =>updated_on
tracking_column_type => "timestamp"
}
}
output {
elasticsearch { hosts => ["localhost:9200"]
index => "thisisit"
action => update
document_id => "%{id}"
doc_as_upsert =>true}
stdout { codec => rubydebug }
}
Please help me.