2017-01-09 61 views
0

我正面臨logstash的延遲問題。FIlebeat-Redis-Logstash:快速Filebeat和Logstah慢,logstash線程?

其實我有一個ELK棧建這樣的:

  • 我對AWS EC2幾個web前端的AWS自動縮放組
  • 我已經filebeat在每個前
  • filebeat安裝在讀取日誌文件並將消息發送到redis cluter(aws elasticache redis,主節點和從屬節點,禁用集羣模式)
  • 我在安裝了EC2 c4.large的logstash上,它從redis(pop)讀取日誌,併爲它們編制索引在Elasticseach集羣
  • 012中個
  • 我的三個EC2 c4.xlarge的elasticsearch consits
  • logstash也elasticsearch集羣讀取S3 ELB日誌和索引他們

問題:

  • 我真的不有大的cpu使用,無論是在我的logstash實例還是我的elasticsearch集羣上
  • filebeat正在讀取並準確發送日誌
  • 在開始時,所有的東西都工作正常,但隨着日誌的增長,filebeat contunues發送日誌的速度非常快,但logstash變得非常緩慢。

結果:

  • 在kibana我看到隨着時間的推移長大的延遲filebeat日誌(日誌現在2個多小時晚)
  • 我不是因爲看到十二月S3 ELB日誌2016年。我已經檢查,logstash是從s3每60個次要拉他們,但似乎不索引他們,並沒有錯誤。

要恢復,我的logstash工作很慢,我無法按時看到所有日誌,我甚至已經將logstash大小增加到更大的實例(c4.2xlarge),但它沒有改變任何東西。 我已經配置了8個線程但完全沒有改變的logstash redis輸入。

所以我想知道我如何準確地線程我的logstash服務,我怎麼能從你的角度來處理問題?

謝謝

回答

0

我發現我的日誌延遲問題。 我在我的篩選器配置中使用多線程,並且以此爲依據,logstash設置管線工人數爲。 因此,我將其刪除並在我的filebeat源配置中進行多行處理。 我還將我的logstash實例從c4.large升級到c4.xlarge,以便獲得高網絡性能,並且將我的管道工人數設置爲(c4.xlarge具有4 vpcu),並將我的elasticsearch工作者設置爲。

現在我可以實時記錄我的日誌了。

我使用logstash 2.2.4 Debian的傑西,並在的/ etc /默認/ logstash做我的設置調整,

那麼我勸這裏是避免使多在儘可能接近相應的流水線過程。 還適當地設置工人配置來處理日誌不斷增長。

我認爲這個問題的答案是因爲我的主要問題是延遲,我將爲logstash s3插件問題打開anoter單獨問題。