X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/18e12b0e123fc3e5f344682f884feabc12da0f5a..2c9527844e884db26c83395ac4068d76507c7999:/cookbooks/apache/recipes/default.rb diff --git a/cookbooks/apache/recipes/default.rb b/cookbooks/apache/recipes/default.rb index bbd15a9d3..aee5dfcc8 100644 --- a/cookbooks/apache/recipes/default.rb +++ b/cookbooks/apache/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: apache +# Cookbook:: apache # Recipe:: default # -# Copyright 2011, OpenStreetMap Foundation +# Copyright:: 2011, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ # limitations under the License. # +include_recipe "munin" +include_recipe "prometheus" include_recipe "ssl" package %w[ @@ -25,17 +27,19 @@ package %w[ ] %w[event itk prefork worker].each do |mpm| - if mpm == node[:apache][:mpm] - apache_module "mpm_#{mpm}" do - action [:enable] - end - else - apache_module "mpm_#{mpm}" do - action [:disable] - end + next if mpm == node[:apache][:mpm] + + apache_module "mpm_#{mpm}" do + action [:disable] end end +apache_module "mpm_#{node[:apache][:mpm]}" do + action [:enable] +end + +apache_module "http2" + admins = data_bag_item("apache", "admins") apache_conf "httpd" do @@ -47,11 +51,20 @@ template "/etc/apache2/ports.conf" do source "ports.conf.erb" owner "root" group "root" - mode 0o644 + mode "644" +end + +systemd_service "apache2" do + dropin "chef" + memory_high "50%" + memory_max "75%" + notifies :restart, "service[apache2]" end service "apache2" do action [:enable, :start] + retries 2 + retry_delay 10 supports :status => true, :restart => true, :reload => true end @@ -65,18 +78,17 @@ apache_module "status" do variables :hosts => admins["hosts"] end -apache_module "deflate" do - conf "deflate.conf.erb" +apache_module "evasive" do + conf "evasive.conf.erb" + only_if { node[:apache][:evasive] } end -if node[:apache][:reqtimeout] - apache_module "reqtimeout" do - action [:enable] - end -else - apache_module "reqtimeout" do - action [:disable] - end +apache_module "brotli" do + conf "brotli.conf.erb" +end + +apache_module "deflate" do + conf "deflate.conf.erb" end apache_module "headers" @@ -89,3 +101,15 @@ end munin_plugin "apache_accesses" munin_plugin "apache_processes" munin_plugin "apache_volume" + +template "/var/lib/prometheus/node-exporter/apache.prom" do + source "apache.prom.erb" + owner "root" + group "root" + mode "644" +end + +prometheus_exporter "apache" do + port 9117 + options "--scrape_uri=http://localhost/server-status?auto" +end