如何使用Logstash调整Elasticsearch性能

时间:2015-09-24 06:40:42

标签: elasticsearch logstash

我们正在使用ElasticSearch,Logstash,Kibana来分析nginx日志。 现在我们有大约10台带有logstash-forwarder的nginx服务器,1台logstash服务器(8个核心,8G),2个ElasticSearch节点(每个都有4个核心和8G)都带有SSD硬盘驱动器。

我们的问题是ElasticSearch集群的索引性能不够好。 nginx日志生成的速度比索引快。我们并不认为logstash服务器和Elastic集群正在尽力而为。因为性能不够。

使用CPU的Logstash服务器(8个核心)。平均负载约为3-6。 以下是Elasticsearch的顶级数据之一。

top - 14:26:08 up 1 day, 32 min,  2 users,  load average: 0.69, 0.75, 0.77
Tasks: 115 total,   1 running, 114 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.2%us,  1.8%sy,  0.0%ni, 69.9%id, 14.0%wa,  0.0%hi,  0.0%si,  0.1%st

使用BigDesk插件监控Elasticsearch索引图。该值为2K / s。 %wa并不像鞋面一样高。

以下是Elasticsearch的iostat数据之一。

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
       9.99    0.00    2.66   12.10    0.15   75.10

Device:           rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
vda               11.60     4.80   18.60    0.80     0.12     0.02    14.93     0.01    0.60   0.56   1.08
vdb               4.40 21633.80  190.80  158.40    11.02    71.63   484.73    42.52  105.02   1.19  41.42

我禁用了副本,禁用了_all字段。 网络很好。

我们如何相应地调整性能。我听说有人可以将性能提升到20K / s。

2 个答案:

答案 0 :(得分:0)

我会尝试从logstash中删除过滤器,只需添加指标即可查看群集可以扩展的程度。

从单个ES节点开始,并从此处编辑ES的设置:http://edgeofsanity.net/article/2012/12/26/elasticsearch-for-logging.html

指标插件:http://logstash.net/docs/1.4.0/filters/metrics

答案 1 :(得分:0)

添加更多Logstash 1.5实例可以提高性能。 Logneash不是弹性搜索的瓶颈。但Logstash的表现还不够好。

最后我使用kafka作为事件缓存,并使用我自己的代码将日志事件推送到ES。 ES服务器的机器可以完全使用。