]> git.openstreetmap.org Git - chef.git/blobdiff - roles/base.rb
Increase maximum number of queue runners on the mail server
[chef.git] / roles / base.rb
index 2e2805142627fe77dd359168d4b7c138a5795824..d5230dc602c20b2a8d33726b43e21fbc077cf3ea 100644 (file)
@@ -10,15 +10,27 @@ default_attributes(
       :jburgess => { :status => :administrator }
     }
   },
       :jburgess => { :status => :administrator }
     }
   },
-  :apt => {
-    :sources => [ "openstreetmap" ]
+  :munin => {
+    :plugins => {
+      :chrony => {
+        :systime => { :warning => "100", :critical => "250" }
+      }
+    }
   },
   :networking => {
     :roles => {
       :internal => { :metric => 200, :zone => "loc" },
   },
   :networking => {
     :roles => {
       :internal => { :metric => 200, :zone => "loc" },
-      :external => { :metric => 100 }
+      :external => { :metric => 100, :zone => "osm" }
     },
     },
-    :search => [ "openstreetmap.org" ]
+    :search => ["openstreetmap.org"]
+  },
+  :prometheus => {
+    :metrics => {
+      :exim_queue_limit => {
+        :help => "Mail queue alert level",
+        :metric => 50
+      }
+    }
   },
   :sysctl => {
     :panic => {
   },
   :sysctl => {
     :panic => {
@@ -27,24 +39,31 @@ default_attributes(
     },
     :blackhole => {
       :comment => "Do TCP level MTU probing if we seem to have an ICMP blackhole",
     },
     :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",
     },
     :network_buffers => {
       :comment => "Tune network buffers",
-      :parameters => { 
+      :parameters => {
         "net.core.rmem_max" => "16777216",
         "net.core.wmem_max" => "16777216",
         "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",
       }
     },
     :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",
     },
     :network_conntrack_established => {
       :comment => "Only track established connections for four hours",
-      :parameters => { 
+      :parameters => {
         "net.netfilter.nf_conntrack_tcp_timeout_established" => "14400"
       }
     },
         "net.netfilter.nf_conntrack_tcp_timeout_established" => "14400"
       }
     },
@@ -53,14 +72,19 @@ default_attributes(
       :parameters => {
         "net.ipv4.tcp_syncookies" => "1"
       }
       :parameters => {
         "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 => {
       :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 +96,14 @@ run_list(
   "recipe[chef]",
   "recipe[devices]",
   "recipe[hardware]",
   "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[networking]",
   "recipe[exim]",
   "recipe[ntp]",
   "recipe[openssh]",
   "recipe[sysctl]",
   "recipe[sysfs]",
-  "recipe[tools]"
+  "recipe[tools]",
+  "recipe[fail2ban]"
 )
 )