2015-09-24 53 views
0

我們使用ElasticSearch,Logstash,Kibana來分析nginx日誌。 現在我們有大約10臺帶有logstash-forwarder,1個logstash服務器(8個核心,8G)的nginx服務器,2個ElasticSearch節點(每個都有4個核心和8G),都帶有SSD硬盤驅動器。如何使用Logstash調整Elasticsearch性能

我們的問題是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。

回答

0

添加更多Logstash 1.5實例可以提高性能。瓶頸不是彈性搜索,是Logstash。但Logstash的表現還不夠好。

最後,我用一個kafka作爲事件緩存,並使用我自己的代碼將日誌事件推送到ES。 ES服務器的機器可以完全使用。