如何使用 Logstash 调整 Elasticsearch 性能
How to tuning Elasticsearch performance with Logstash
我们正在使用 ElasticSearch、Logstash、Kibana 来分析 nginx 日志。
现在我们有大约10台带有logstash-forwarder的nginx服务器,1台logstash服务器(8核,8G),2个ElasticSearch节点(每个都是4核8G),都带有SSD硬盘。
我们的问题是ElasticSearch集群的索引性能不够好。 nginx 日志生成的速度比索引快。而且我们认为 logstash 服务器和 Elastic 集群没有发挥最好的作用。因为演出未满
Logstash 服务器(8 核)大量使用 CPU。平均负载约为 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
我会尝试从 logstash 中删除过滤器并添加指标以查看您的集群可以扩展多少。
从单个 ES 节点开始并从此处编辑 ES 的设置:http://edgeofsanity.net/article/2012/12/26/elasticsearch-for-logging.html
添加更多 Logstash 1.5 实例可以提高性能。瓶颈不是Elastic Search,是Logstash。但是Logstash的性能还不够好。
最后我用kafka做事件缓存,用自己的代码把日志事件推送到ES。 ES服务器的机器可以充分利用
我们正在使用 ElasticSearch、Logstash、Kibana 来分析 nginx 日志。 现在我们有大约10台带有logstash-forwarder的nginx服务器,1台logstash服务器(8核,8G),2个ElasticSearch节点(每个都是4核8G),都带有SSD硬盘。
我们的问题是ElasticSearch集群的索引性能不够好。 nginx 日志生成的速度比索引快。而且我们认为 logstash 服务器和 Elastic 集群没有发挥最好的作用。因为演出未满
Logstash 服务器(8 核)大量使用 CPU。平均负载约为 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
我会尝试从 logstash 中删除过滤器并添加指标以查看您的集群可以扩展多少。
从单个 ES 节点开始并从此处编辑 ES 的设置:http://edgeofsanity.net/article/2012/12/26/elasticsearch-for-logging.html
添加更多 Logstash 1.5 实例可以提高性能。瓶颈不是Elastic Search,是Logstash。但是Logstash的性能还不够好。
最后我用kafka做事件缓存,用自己的代码把日志事件推送到ES。 ES服务器的机器可以充分利用