X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/da1115e80fdbca939aa7b2f8b2027705f1c32b24..13ef9975b5d6b159207273e971cf614477c793ca:/roles/web-frontend.rb diff --git a/roles/web-frontend.rb b/roles/web-frontend.rb index 1a7c7ce7a..8e8fa817d 100644 --- a/roles/web-frontend.rb +++ b/roles/web-frontend.rb @@ -4,33 +4,52 @@ description "Role applied to all web/api frontend servers" default_attributes( :apache => { :mpm => "event", + :evasive => { + :page_count => 30, + :site_count => 100, + :blocking_period => 30 + }, :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 => { :max_pool_size => 50 }, - :web => { - :rails_soft_memory_limit => 192, - :rails_hard_memory_limit => 512 - }, :exim => { - :local_domains => [ "messages.openstreetmap.org" ], - :trusted_users => [ "rails" ], + :local_domains => ["messages.openstreetmap.org"], :routes => { :messages => { :comment => "messages.openstreetmap.org", - :domains => [ "messages.openstreetmap.org" ], - :command => "/srv/www.openstreetmap.org/rails/script/deliver-message $local_part", + :domains => ["messages.openstreetmap.org"], + :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 } } } @@ -38,5 +57,6 @@ default_attributes( run_list( "role[web]", + "role[logstash-forwarder]", "recipe[web::frontend]" )