PFB my configurations :
input {
redis {
host => 'xx.xx.xxx.xxx'
port => 1234
password => 'passwd'
data_type => 'list'
key => 'key'
}
}
filter {
if("abcdsf" in [tags])
{
grok {
match => { "message" => "^=%{WORD:report_type} REPORT=+ (?%{MONTHDAY}-%{MONTH}-%{YEAR}::%{HOUR}:%{MINUTE}:%{SECOND}) ===.*$" }
}
multiline {
pattern => "(^=)"
negate => true
what => "previous"
}
}
else {
multiline {
pattern => "^%{TIMESTAMP_ISO8601}%{SPACE}%{NUMBER}?%{SPACE}?TRACE"
what => "previous"
}
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:logdate}%{SPACE}%{NUMBER:pid}?%{SPACE}?(?AUDIT|CRITICAL|DEBUG|INFO|TRACE|WARNING|ERROR) [?\b%{NOTSPACE:mod}\b]?%{SPACE}?%{GREEDYDATA:logmessage}" }
}
}
}
output { stdout { codec => rubydebug } }
output {
elasticsearch {
hosts => ["elasticsearchEndpoint:443"]
ssl => true
keystore => "/etc/pki/Truststore.jks"
keystore_password => "passwd"
user => "passwd"
password => "passwd"
index => "logstash--%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}