X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/18e12b0e123fc3e5f344682f884feabc12da0f5a..70eaccc45b23013cf60449b024bb65bbd34d48ec:/cookbooks/logstash/recipes/default.rb diff --git a/cookbooks/logstash/recipes/default.rb b/cookbooks/logstash/recipes/default.rb index cc28afab8..babff56df 100644 --- a/cookbooks/logstash/recipes/default.rb +++ b/cookbooks/logstash/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: logstash +# Cookbook:: logstash # Recipe:: default # -# Copyright 2015, OpenStreetMap Foundation +# Copyright:: 2015, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,20 +22,20 @@ include_recipe "networking" keys = data_bag_item("logstash", "keys") package %w[ - default-jre-headless + openjdk-8-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 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 0o640 @@ -54,6 +54,14 @@ file "/etc/logrotate.d/logstash" do mode 0o644 end +template "/etc/default/logstash" do + source "logstash.default.erb" + user "root" + group "root" + mode 0o644 + notifies :restart, "service[logstash]" +end + service "logstash" do action [:enable, :start] supports :status => true, :restart => true, :reload => true @@ -66,7 +74,7 @@ template "/etc/cron.daily/expire-logstash" do mode 0o755 end -forwarders = search(:node, "recipes:logstash\\:\\:forwarder") # ~FC010 +forwarders = search(:node, "recipes:logstash\\:\\:forwarder") forwarders.sort_by { |n| n[:fqdn] }.each do |forwarder| forwarder.interfaces(:role => :external) do |interface| @@ -79,10 +87,20 @@ forwarders.sort_by { |n| n[:fqdn] }.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 = search(:node, "roles:gateway") gateways.sort_by { |n| n[:fqdn] }.each do |gateway| gateway.interfaces(:role => :external) do |interface| @@ -95,5 +113,15 @@ gateways.sort_by { |n| n[:fqdn] }.each do |gateway| 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