我們在實際的場景中,經常是多個網站或者服務端在一台服務器上,但是如果這些應用全部
記錄到一台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屬性,然后對不同路徑的日志進行監控,將輸入定向到不同的索引。