Use multiple inputs configs w/single logstash instance


#1

Let me quickly define my Elastic stack.
I'm currently just working with 3 different types of logs coming from 3 different machines.

Goal: I would like to handle all 3 logs w/my current elastic stack. How do I do this?

#1 Log type
Windows event logs: WIndows 10
NXlog sending eventlogs > Logstash collector > Redis-server > Logstash Parser > Elasticsearch > Kibana

#2 Log type
Windows application log: Windows server 2012
Filebeat client > Logstash collector > Redis-server > Logstash Parser > Elasticsearch > Kibana

#3 Glassfish server logs
GF server sending log to windows machine
Filebeat client > Logstash collector > Redis-server > Logstash Parser > Elasticsearch > Kibana


(Joe Lawson) #2

I don't think you are missing anything here.


#3

Joe,

Thanks for the response. So I was curious how to handle my config files on my logstash instance.

Logstash Server Config file.

input {
redis {
host => "ip"
type => "log"
data_type => "list"
key => "logstash"
}

}

input {
tcp {
type => "eventlog"
port => 3000
codec => "json"
}
}

filter {
if [type] == "log" {
grok {
match => { "message" => "^[%{TIMESTAMP_ISO8601:timestamp}] [%{DATA:server_version}] [%{DATA:log_level}] [%{DATA:unknown}] [%{JAVACLASS:class}] [%{DATA:thread}] [%{DATA:category}] [%{DATA:loglevel}] [[$" }

add_field => [ "received_at", "%{@timestamp}" ]

}

}
}

output {
elasticsearch
{
hosts => ["hosts"]
user => "ls_admin"
password => ""
}
stdout { codec => rubydebug }


(Mark Walkom) #4

What do you mean?


(system) #5