我有一個SQL數據庫Elasticsearch管道,看起來像下面這樣:利用SQL數據庫多線程和logstash聚集過濾
- 輸入logstash輸入-JDBC
- 各種過濾和變異各個事件的
- 事件被根據GROUP_ID屬性使用logstash濾波器骨料聚集
- 集合體事件輸出使用logstash - 輸出 - elasticsearch 到Elasticsearch
正因爲如此,這條管線的吞吐量是相當低的。我知道這是由於聚合步驟(它執行一些相對較重的處理),並且我想使用幾個線程/進程來提高性能(允許我使用多個核心)。
但是,logstash-filter-aggregate插件不支持多個篩選器工作人員 - 大概是因爲它無法保證應該組合爲一個集合事件的事件將由同一個工作人員處理。
我目前的解決方案是其中每個實例選擇從SQL數據庫group_ids的某個子集運行logstash的幾個實例。但是,這有很多開銷。有沒有更好的方法使用logstash-filter-aggregate使用多個核心?
感謝您的建議。我想我所希望的是在單個logstash實例中執行分片的方法,但這似乎不可行。 – haroba