Я установил Logstash 7.1.0 в качестве службы в Windows через NSSM. Я не предоставил никаких аргументов в NSSM.
И в pipelines.yml я устанавливаю разные конвейеры, просто включив
- 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"
Когда я запускаю службу, файлы conf некажется, работает. Я предполагал, что когда вы не дадите никаких аргументов в NSSM, pipelines.yml будет направлен на выполнение.
Мне нужно запустить несколько файлов conf в моей службе logstash без прерывания. Если я запускаю cmd, он остановится, как только я закрою cmd, я этого не хочу. Вот содержимое файлов конфигурации:
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 }
}
Пожалуйста, помогите мне.