X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/81ee7705b99398f0b11e0236622baaa15f547b6f..91f61bf7bb78738f8b15a8b0b8adff00caf4ac8d:/roles/web-frontend.rb diff --git a/roles/web-frontend.rb b/roles/web-frontend.rb index ec166cd95..503ad95fa 100644 --- a/roles/web-frontend.rb +++ b/roles/web-frontend.rb @@ -4,30 +4,52 @@ description "Role applied to all web/api frontend servers" default_attributes( :apache => { :mpm => "event", + :evasive => { + :page_count => 100, + :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 => { - :version => 4, :max_pool_size => 50 }, :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 } } } @@ -35,5 +57,6 @@ default_attributes( run_list( "role[web]", + "role[logstash-forwarder]", "recipe[web::frontend]" )