新人求助:LS+ES加中间件 和不加中间件的影响在哪里 ?有哪位前辈可以为我解惑一下么?

Logstash | 作者 huasendounai | 发布于2016年03月01日 | 阅读数:3146

 我现在打算将其运用在一个每天日志量大约10G的项目中,用6个LS节点直接读取文件往es内推,看很多文档,很多人都用了中间件为了提高性能。第一:性能的提示体现在何处?第二:加了中间件不会对实时有影响么》??会导致后续的日志如果按时间分析会出现偏差吧?希望前辈们能够详解一下。
已邀请:

afeng - 期待一个强大的监控系统

赞同来自:

你说的是中间的存储层吧,比如redis.
使用redis存储数据时,如果es或logstash服务端故障,故障期间客户端仍能够发送日志数据到redis,待服务端恢复后,历史还可以写入到ES中。
 
关于实时分析中的时间字段,如果使用@Timestamp作为实时时间则使用中间存储可以获取到正确的时间,因为这个时间是客户端收集数据的时间,如果没有存储当服务端故障,客户端收集数据会延迟,得到的时间也是延迟的。
 
时间字段建议使用日志中的时间字段,比如logtime,即使数据延迟收集也能对应到正确的时间点儿上。
 
中间存储的影响:看你的数据量有多大,比如使用redis的队列,队列的存取速度都有上限,这里很可能成为瓶颈。所以使用的话建议不同的节点使用不同的key来存储日志队列,甚至是一个节点启动多个客户端使用不同的队列处理不同的日志文件。服务端logstash只需要配置多个input即可,如果服务端处理不过来也可以使用相同的服务端配置文件启动多个服务端进程。

要回复问题请先登录注册