X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/5b0051d7fcbdf4c8805eacc7eb47d12f0fca4206..f64d0b535fa6cbfc9297d6042cbafc805c610314:/roles/web-frontend.rb diff --git a/roles/web-frontend.rb b/roles/web-frontend.rb index faa1017de..5221de62d 100644 --- a/roles/web-frontend.rb +++ b/roles/web-frontend.rb @@ -4,13 +4,35 @@ description "Role applied to all web/api frontend servers" default_attributes( :apache => { :mpm => "event", + :evasive => { + :page_count => 100, + :site_count => 100, + :blocking_period => 30, + :enable => false + }, :event => { - :server_limit => 40, - :max_clients => 1000, - :min_spare_threads => 50, - :max_spare_threads => 150, + :server_limit => 20, + :max_request_workers => 1000, :threads_per_child => 50, - :max_requests_per_child => 10000 + :min_spare_threads => 50, + :max_spare_threads => 450, + :async_request_worker_factor => 4 + } + }, + :logstash => { + :forwarder => { + "filebeat.inputs" => [ + { "type" => "filestream", "id" => "apache", "paths" => ["/var/log/apache2/access.log"], "fields" => { "type" => "apache" }, "fields_under_root" => true }, + { "type" => "filestream", "id" => "rails", "paths" => ["/var/log/web/rails-logstash.log"], "fields" => { "type" => "rails" }, "fields_under_root" => true } + ] + } + }, + :memcached => { + :memory_limit => 8192 + }, + :networking => { + :firewall => { + :http_rate_limit => "s:5/sec:30" } }, :passenger => { @@ -18,15 +40,17 @@ default_attributes( }, :exim => { :local_domains => ["messages.openstreetmap.org"], - :trusted_users => ["rails"], :routes => { :messages => { :comment => "messages.openstreetmap.org", :domains => ["messages.openstreetmap.org"], - :command => "/srv/www.openstreetmap.org/rails/script/deliver-message $local_part", + :local_parts => ["${lookup{$local_part}lsearch*,ret=key{/etc/exim4/detaint}}"], + :command => "/usr/local/bin/deliver-message $local_part_data", :user => "rails", :group => "rails", - :home_directory => "/srv/www.openstreetmap.org/rails" + :home_directory => "/srv/www.openstreetmap.org/rails", + :path => "/bin:/usr/bin:/usr/local/bin", + :case_sensitive => true } } } @@ -34,5 +58,6 @@ default_attributes( run_list( "role[web]", + "role[logstash-forwarder]", "recipe[web::frontend]" )