logstash日志收集系统性能问题(ELK)?

iov_aaron 发布于 2014/06/27 17:15
阅读 10K+
收藏 4

各位好,

   目前我正在用ELK做统一日志收集系统。

    官网上介绍时都强调了一般都用redis作为缓冲中间件,也就是:

    input:file -> output:redis                (这个logstash shipper是装在日志服务器上的)

    input:redis -> output:elasticsearch    (单独的logstash,可以做集群,多个logstash都从redis从取)

    不知道添加一个redis是为了提高性能吗?

    我按照这种架构来部署时,发现logstash仅能处理每秒不到2000条日志,大部分的日志都积压在redis侧。

    如果直接从input:file -output:elasticsearch 是不是更快些呢?

加载中
1
Vaga
Vaga
我们用zmq做队列。你应该开启多个线程,甚至可以用多个进程进行处理,一秒钟上万条,应该没有问题的
0
localtest
localtest
redis机器给的内存够多吗?
黄棠
回复 @iov_aaron : 你的问题解决了吗?我最近也遇到相同的问题。
i
iov_aaron
给redis设置的最大内存为16g. 不过这个跟redis应该没有关系吧,redis只是做数据队列的,主要是logstash indexer取的很慢
0
502BadGateway
502BadGateway

我配置过logstash在output到elasticsearch时的worker数量,redis中目前无排队的数据。 不知道是不是这个参数可以改善

0
笑天居士
笑天居士
input {
  redis {
    host => '127.0.0.1'
    data_type => 'list'
    key => 'logstash:redis'
    threads => 10
    #batch_count => 1000
  }
}


output {
  elasticsearch {
    #embedded => true
    host => localhost
    workers => 10
  }
}


大概每S可2W

因为elasticsearch写的速度肯定没有直接读取log的速度快,用redis做缓存,redis写入速度要大于elasticsearch速度

0
smart_w
smart_w
不要相信elasticsearch入库速度,直接打入这里,可能由于打入过快导致内存暴增
返回顶部
顶部