我们在实际的场景中,经常是多个网站或者服务端在一台服务器上,但是如果这些应用全部
记录到一台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属性,然后对不同路径的日志进行监控,将输入定向到不同的索引。










