graylog-labs / graylog2-puppet

[DEPRECATED] Puppet module to install and manage a Graylog 1.x system.
https://www.graylog.org/
MIT License
10 stars 28 forks source link

server: autoscale JVM heap options #39

Open igalic opened 8 years ago

igalic commented 8 years ago

rationale: the jvm settings for graylog server can be automatically scaled based on the available memory. We set min & max heap to memory/2, capping it at below 32G, to ensure the JVM will be able to use -XX:+UseCompressedOops (see https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html) By default, PermSize and MaxPermSize is also set to the same value. We leave the GC settings alone, since they are very sensible values for Graylog2. However, we allow to provide additional java options, such as -javaagent, or jmx options, which are useful for monitoring.

While we try hard to preserve backwards compatibility in the defaults files, but this will cause restarts in default installations.

joschi commented 8 years ago

@igalic Could you please file that PR against the new Puppet modules at https://github.com/Graylog2/puppet-graylog?

igalic commented 8 years ago

yesno. This pr isn't really necessary there… given the template code for defaults file:

<%= @data.keys.sort.map {|k| "#{k} = #{@data[k]}" }.join("\n") %>

of course this doesn't give us auto-scaling, but at least it enables us to… do things…

But the other issue is that we still use this module, and more importantly, we still use graylog 1.x because we haven't had time and resources to upgrade yet.