ELK菜鸟手记 (二)

时间:2022-09-20 17:43:39

我们在实际的场景中,经常是多个网站或者服务端在一台服务器上,但是如果这些应用全部

记录到一台logstash服务器,大家日志都混在一起不好区分。

有人说,我可以在日志中打项目名,但是这样并不方便。

其实,我们可以在索引上做文章。

配置如下:

input {
file {
path
=> ["/Users/KG/Documents/logs/app-a/*.log"]
type
=> "app-a"
}
file {
path
=> ["/Users/KG/Documents/logs/app-b/*.log"]
type
=> "app-b"
}
}

output {
stdout {
codec
=> rubydebug
}
if [type] == "app-a" {
elasticsearch {
hosts
=> "你的elastic服务器地址:9200"
index
=> "app-a-%{+YYYY.MM.dd}"
document_type
=> "log4j_type"
}
}
else if [type] == "app-b" {
elasticsearch {
hosts
=> "你的elastic服务器地址:9200"
index
=> "app-b-%{+YYYY.MM.dd}"
document_type
=> "log4j_type"
}
}
}

从上面的代码可以看出,我们配置了2个索引app-a表示应用A, 而app-b表示应用B。

我们利用了type和path属性,然后对不同路径的日志进行监控,将输入定向到不同的索引。