我需要使用logstash从我自己的系统中读取一些日志信息。我使用弹性搜索作为logstash的输出。弹性搜索将在另一台服务器中配置。
我阅读了一些文章和论坛,他们在使用logstash时遇到了一些内存消耗问题。
参考链接:
https://groups.google.com/forum/#!topic/logstash-users/qIdzJmD6pJ4
https://discuss.elastic.co/t/logstash-heap-size/622/6
如何在不影响性能的情况下在我的机器中配置logstash?
我的系统配置:
Windows server 2012
8GB RAM
500GB硬盘
答案 0 :(得分:0)
我认为使用logstash时无法对系统产生任何影响。我们的想法是尽可能减少影响。
重要因素是 pipeline.workers ,它取决于cpu核心和 jvm heapsize ,这会影响内存大小。
https://www.elastic.co/guide/en/logstash/current/tuning-logstash.html
通常将值设置为grater而不是等于核心数。但是,您仍然可以将数量设置为小于核心数。默认设置是设置为核心数。
From logstash.yml
# This defaults to the number of the host's CPU cores.
#
# pipeline.workers: 2
设置为 1 表示您只有单个过滤器/输出队列。从理论上讲,logstash将按顺序处理所有事件。
由于logstash在jvm上运行,因此设置太低会使logstash性能降低。如果我是你,我会坚持默认 1GB 。
希望这有帮助。