如何减少 Logstash 的 RAM 使用量?
How can I reduce RAM usage of Logstash?
我正在为我的 Logstash RAM 问题寻找答案,因为它已接近 100%。我为它做了很多搜索,但他们没有为我工作。下面的代码是我的 logstash.conf 文件。我认为它需要一些小改动。
Logstash.conf:
input {
file {
path => ["c:/mylogs/*.txt"]
start_position => "beginning"
discover_interval => 10
stat_interval => 10
sincedb_write_interval => 10
close_older => 10
codec => "json"
}
}
filter {
date {
match => ["mydate","yyyy-MM-dd HH:mm:ss.SSSS" ]
timezone => "UTC"
}
date {
match => ["TimeStamp", "ISO8601"]
}
json {
source => "request"
target => "parsedJson"
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => [ "http://localhost:9200" ]
index => "log-%{+YYYY.MM}"
}
}
Logstash 使用 JVM 运行。 logstash 使用的 JVM 选项可以在 logstash 文件夹 (see the doc) 的 config 文件夹中的 jvm.options 文件中进行配置。在该文件中,您可以设置一个 -Xmx
选项来设置最大堆大小,这将限制使用的最大内存。
从调整 logstash page,您还可以配置批处理大小和 worker 数量以减少运行中事件的数量,这应该会减少 RAM 使用,但也会降低 logstash 的吞吐量.
我正在为我的 Logstash RAM 问题寻找答案,因为它已接近 100%。我为它做了很多搜索,但他们没有为我工作。下面的代码是我的 logstash.conf 文件。我认为它需要一些小改动。
Logstash.conf:
input {
file {
path => ["c:/mylogs/*.txt"]
start_position => "beginning"
discover_interval => 10
stat_interval => 10
sincedb_write_interval => 10
close_older => 10
codec => "json"
}
}
filter {
date {
match => ["mydate","yyyy-MM-dd HH:mm:ss.SSSS" ]
timezone => "UTC"
}
date {
match => ["TimeStamp", "ISO8601"]
}
json {
source => "request"
target => "parsedJson"
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => [ "http://localhost:9200" ]
index => "log-%{+YYYY.MM}"
}
}
Logstash 使用 JVM 运行。 logstash 使用的 JVM 选项可以在 logstash 文件夹 (see the doc) 的 config 文件夹中的 jvm.options 文件中进行配置。在该文件中,您可以设置一个 -Xmx
选项来设置最大堆大小,这将限制使用的最大内存。
从调整 logstash page,您还可以配置批处理大小和 worker 数量以减少运行中事件的数量,这应该会减少 RAM 使用,但也会降低 logstash 的吞吐量.