好的想法是十分钱一打,真正无价的是能够实现这些想法的人。

filebeat采集日志到logstash中数据分流的方案

Beats | 作者 code4j | 发布于2018年08月09日 | 阅读数:3082

为了采集用户日志,决定使用filebeat->logstash->elasticsearch的方案。
 假设一个机器上可以部署多个应用,应用下有多干个日志文件,我打算按照应用名(或者服务集群名)为索引维度,一个服务一个索引这样维护。
 
filebeat 可以给日志设置fields,也就是说我可以给要采集的目录的input 增加fields,假设就叫appName,那么配置文件中配置appName: app1  代表我要采集app1应用的日志目录下的 info.log warn.log error.log 等等。
 
但是如果我还要采集更多的应用,我可以在input.path下增加目录,但是这时我的fields就不好处理了,appName这个变量已经定义成了app1,我如果再增加一个field,那么下游logstash就要再多加一个配置读取对应的这个变量了,感觉维护成本有点高。
 
还能想到一个办法,就是再起一个filebeat实例,但是这样如果机器上跑了多个应用,恐怕资源占用会越来越厉害。
 
大神们能给出出建议吗?
 
 
 
 
 
已邀请:

rockybean - Elastic Certified Engineer, ElasticStack Fans,公众号:ElasticTalk

赞同来自:

感觉是你配置用的不对,你把配置丢出来看下。
不同的 app 配不同的 input,就可以设置不同的 appName ,一个 filebeat 就可以

要回复问题请先登录注册