X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/a7d96c8358a00088b485fadb5966eb4b231d2ff1..7818690d6c926bad3e0f6a2e79b4e0a2a9c350b7:/roles/base.rb diff --git a/roles/base.rb b/roles/base.rb index 15c913d3d..718b288a5 100644 --- a/roles/base.rb +++ b/roles/base.rb @@ -10,15 +10,20 @@ default_attributes( :jburgess => { :status => :administrator } } }, - :apt => { - :sources => [ "openstreetmap" ] - }, :networking => { :roles => { - :internal => { :metric => 200, :zone => "loc" }, + :internal => { :metric => 200 }, :external => { :metric => 100 } }, - :search => [ "openstreetmap.org" ] + :search => ["openstreetmap.org"] + }, + :prometheus => { + :metrics => { + :exim_queue_limit => { + :help => "Mail queue alert level", + :metric => 50 + } + } }, :sysctl => { :panic => { @@ -27,40 +32,50 @@ default_attributes( }, :blackhole => { :comment => "Do TCP level MTU probing if we seem to have an ICMP blackhole", - :parameters => { "net.ipv4.tcp_mtu_probing" => "1" } + :parameters => { + "net.ipv4.tcp_mtu_probing" => "1", + "net.ipv4.tcp_base_mss" => "1024" + } }, :network_buffers => { :comment => "Tune network buffers", - :parameters => { + :parameters => { "net.core.rmem_max" => "16777216", "net.core.wmem_max" => "16777216", - "net.ipv4.tcp_rmem" => "4096\t87380\t16777216", - "net.ipv4.tcp_wmem" => "4096\t65536\t16777216" + "net.ipv4.tcp_rmem" => "4096 87380 16777216", + "net.ipv4.tcp_wmem" => "4096 65536 16777216", + "net.ipv4.udp_mem" => "3145728 4194304 16777216" } }, :network_backlog => { :comment => "Increase maximum backlog for incoming network packets", - :parameters => { "net.core.netdev_max_backlog" => "2500" } + :parameters => { + "net.core.netdev_max_backlog" => "2500", + "net.core.netdev_budget" => "600" + } }, :network_conntrack_established => { :comment => "Only track established connections for four hours", - :parameters => { + :parameters => { "net.netfilter.nf_conntrack_tcp_timeout_established" => "14400" } }, :tcp_syncookies => { - :comment => "Turn off syncookies as they interact badly with the firewall", + :comment => "Turn on syncookies to protect against SYN floods", :parameters => { - "net.ipv4.tcp_syncookies" => "0" + "net.ipv4.tcp_syncookies" => "1" } - } - }, - :sysfs => { - :cpufreq_ondemand => { - :comment => "Tune the ondemand CPU frequency governor", + }, + :default_qdisc => { + :comment => "Use fq as the default queuing discipline", + :parameters => { + "net.core.default_qdisc" => "fq" + } + }, + :tune_cpu_scheduler => { + :comment => "Tune CPU scheduler for server scheduling", :parameters => { - "devices/system/cpu/cpufreq/ondemand/up_threshold" => "25", - "devices/system/cpu/cpufreq/ondemand/sampling_down_factor" => "10" + "kernel.sched_autogroup_enabled" => 0 } } } @@ -72,12 +87,13 @@ run_list( "recipe[chef]", "recipe[devices]", "recipe[hardware]", - "recipe[munin]", + "recipe[prometheus]", "recipe[networking]", "recipe[exim]", "recipe[ntp]", "recipe[openssh]", "recipe[sysctl]", "recipe[sysfs]", - "recipe[tools]" + "recipe[tools]", + "recipe[fail2ban]" )