架構以下,logstash-agent ---->redis---->logstash-server----->elasticsearch---->kibanaredis
需求:想收集多個log文件,例如/var/log/messages, /var/log/logstash/logstash.err 兩個日誌文件;架構
logstash input和output 如何寫,elasticsearch
input {ide
file {日誌
path => "/var/log/messages"server
type => "system"input
}it
}ast
input {class
file {
path => "/var/log/logstash/logstash.err"
type => "logstash-err"
}
}
output {
if [type] == "system" {
redis {
data_type => "list"
key => "system-messages-test"
host => "10.54.22.97"
port => "6379"
db => "2"
}
}
if [type] == "logstash-err" {
redis {
data_type => "channel"
key => "logstash-err-cesi"
host => "10.54.22.97"
port => "6379"
db => "3"
}
}
}
還有一個:以下;
input {
redis {
data_type => "list"
key => "system-messages-test"
host => "10.54.22.97"
port => "6379"
db => "2"
}
redis {
data_type => "channel"
key => "logstash-err-cesi"
host => "10.54.22.97"
port => "6379"
db => "3"
}
}
output {
if [data_type] == "list" {
elasticsearch {
hosts => "10.54.22.97:9200"
index => "system-redis-messages-%{+YYYY.MM.dd}"
}
}
if [data_type] == "channel" {
elasticsearch {
hosts => "10.54.22.97:9200"
index => "logstash-err-%{+YYYY.MM.dd}"
}
}