X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/a7d96c8358a00088b485fadb5966eb4b231d2ff1..f4f01fceab926537d2c4eb8eaafd442c6e1976d4:/roles/base.rb diff --git a/roles/base.rb b/roles/base.rb index 15c913d3d..4d453e45c 100644 --- a/roles/base.rb +++ b/roles/base.rb @@ -10,15 +10,19 @@ default_attributes( :jburgess => { :status => :administrator } } }, - :apt => { - :sources => [ "openstreetmap" ] + :munin => { + :plugins => { + :chrony => { + :systime => { :warning => "100", :critical => "250" } + } + } }, :networking => { :roles => { :internal => { :metric => 200, :zone => "loc" }, - :external => { :metric => 100 } + :external => { :metric => 100, :zone => "osm" } }, - :search => [ "openstreetmap.org" ] + :search => ["openstreetmap.org"] }, :sysctl => { :panic => { @@ -27,40 +31,52 @@ 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 and cubic for congestion control", + :parameters => { + "net.core.default_qdisc" => "fq", + "net.ipv4.tcp_congestion_control" => "cubic" + } + }, + :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_migration_cost_ns" => 50000000, + "kernel.sched_autogroup_enabled" => 0 } } } @@ -72,12 +88,14 @@ run_list( "recipe[chef]", "recipe[devices]", "recipe[hardware]", - "recipe[munin]", + "recipe[prometheus]", + "recipe[munin::plugins]", "recipe[networking]", "recipe[exim]", "recipe[ntp]", "recipe[openssh]", "recipe[sysctl]", "recipe[sysfs]", - "recipe[tools]" + "recipe[tools]", + "recipe[fail2ban]" )