Maybe I have been staring at this too long and need another set of eyes to point out something silly..
Using logstash 7.3.1 started using pipelines,
I have one running, but two defined, I get an error in the debug logs:
[logstash.config.source.local.configpathloader] Skipping the following files while reading config since they don't match the specified glob pattern {:files=>["/etc/logstash/conf.d/pipeline.conf/Cerberus.conf"]}
I have run a config test from the command line on this specific file and passes
Here is the Cerberus.conf file:
#Input from CORP-DC03 using redis on TS-REDIS01
input {
redis {
host => "10.100.100.37"
data_type => "list"
codec => json
key => "CerberusLog"
}
}
#Filter section
filter {
grok {
break_on_match => true
patterns_dir => "./patterns"
# Match user messages from the Cerberus
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] %{GREEDYDATA:ftpmessage} request %{DATA:Action} from %{IPV4:c_ip}" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] %{GREEDYDATA:ftpmessage} at %{IPV4:s_ip}" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] %{GREEDYDATA:ftpmessage} from %{IPV4:c_ip}" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] Kex:%{GREEDYDATA:ftpmessage}" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] %{DATA} '%{USER:user}' %{GREEDYDATA:ftpmessage}" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] [%{USER:user}] Successfully stored file at %{QS:File} (%{NUMBER:rcvd_bytes:int} B received)" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] [%{USER:user}] Successfully sent file %{QS:File} (%{NUMBER:sent_bytes:int} B sent)" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] [%{USER:user}] %{GREEDYDATA:ftpmessage}" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] SSL %{GREEDYDATA:ftpmessage}" ]
match => [ "message", "%{TIMESTAMP_ISO8601:datestamp},%{DATA:facility},%{IPV4:syslogsvr},%{DATA:messagetype} %{GREEDYDATA} [%{INT:sessionid}] %{GREEDYDATA:ftpmessage}" ]
}
#Add geoIP info
geoip {source => "c_ip"}
date {
match => [ "datestamp", "YYYY-MM-dd HH:mm:ss" ]
#timezone => "UTC"
}
mutate {
convert => [ "[geoip][coordinates]", "float" ]
}
}
#output section
output {
elasticsearch {
hosts => "10.100.100.34"
index => "logstash-ftplog-%{+YYYY.MM.dd}"
}
}
And here is the pipelines.yml file:
- pipeline.id: main
path.config: "/etc/logstash/conf.d/*.conf"
pipeline.id: cerberus
path.config: "/etc/logstash/conf.d/Cerberus/Cerberus.conf"
pipeline.id: Connect_iis
path.config: "/etc/logstash/conf.d/pipeline.conf/Connect_iis.conf"