X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/74e00583c114a2c0eb007cbec4cc90dad5453cdd..27fd49876db529db0913497ff549aaeb3e39b58f:/cookbooks/logstash/recipes/default.rb diff --git a/cookbooks/logstash/recipes/default.rb b/cookbooks/logstash/recipes/default.rb index 55675fa71..620194df8 100644 --- a/cookbooks/logstash/recipes/default.rb +++ b/cookbooks/logstash/recipes/default.rb @@ -8,7 +8,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -21,22 +21,24 @@ include_recipe "networking" keys = data_bag_item("logstash", "keys") -package "openjdk-7-jre-headless" -package "logstash" +package %w[ + default-jre-headless + logstash +] -cookbook_file "/var/lib/logstash/lumberjack.crt" do - source "lumberjack.crt" +cookbook_file "/var/lib/logstash/beats.crt" do + source "beats.crt" user "root" group "logstash" - mode 0644 + mode 0o644 notifies :restart, "service[logstash]" end -file "/var/lib/logstash/lumberjack.key" do - content keys["lumberjack"].join("\n") +file "/var/lib/logstash/beats.key" do + content keys["beats"].join("\n") user "root" group "logstash" - mode 0640 + mode 0o640 notifies :restart, "service[logstash]" end @@ -44,25 +46,29 @@ template "/etc/logstash/conf.d/chef.conf" do source "logstash.conf.erb" user "root" group "root" - mode 0644 - notifies :restart, "service[logstash]" + mode 0o644 + notifies :reload, "service[logstash]" +end + +file "/etc/logrotate.d/logstash" do + mode 0o644 end service "logstash" do action [:enable, :start] - supports :status => true, :restart => true + supports :status => true, :restart => true, :reload => true end template "/etc/cron.daily/expire-logstash" do source "expire.erb" owner "root" group "root" - mode 0755 + mode 0o755 end -forwarders = search(:node, "recipes:logstash\\:\\:forwarder") +forwarders = search(:node, "recipes:logstash\\:\\:forwarder") # ~FC010 -forwarders.each do |forwarder| +forwarders.sort_by { |n| n[:fqdn] }.each do |forwarder| forwarder.interfaces(:role => :external) do |interface| firewall_rule "accept-lumberjack-#{forwarder}" do action :accept @@ -73,5 +79,41 @@ forwarders.each do |forwarder| dest_ports "5043" source_ports "1024:" end + + firewall_rule "accept-beats-#{forwarder}" do + action :accept + family interface[:family] + source "#{interface[:zone]}:#{interface[:address]}" + dest "fw" + proto "tcp:syn" + dest_ports "5044" + source_ports "1024:" + end + end +end + +gateways = search(:node, "roles:gateway") # ~FC010 + +gateways.sort_by { |n| n[:fqdn] }.each do |gateway| + gateway.interfaces(:role => :external) do |interface| + firewall_rule "accept-lumberjack-#{gateway}" do + action :accept + family interface[:family] + source "#{interface[:zone]}:#{interface[:address]}" + dest "fw" + proto "tcp:syn" + dest_ports "5043" + source_ports "1024:" + end + + firewall_rule "accept-beats-#{gateway}" do + action :accept + family interface[:family] + source "#{interface[:zone]}:#{interface[:address]}" + dest "fw" + proto "tcp:syn" + dest_ports "5044" + source_ports "1024:" + end end end