X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/6f937ded3a56fe96431490cd92ad18dc19dda371..8341757d86c7c8799ad4f69f172f88c71528c321:/cookbooks/munin/recipes/server.rb diff --git a/cookbooks/munin/recipes/server.rb b/cookbooks/munin/recipes/server.rb index a03b7d684..063f4dbc5 100644 --- a/cookbooks/munin/recipes/server.rb +++ b/cookbooks/munin/recipes/server.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, @@ -45,17 +45,17 @@ munin_plugin "rrdcached" expiry_time = 14 * 86400 -clients = search(:node, "recipes:munin\\:\\:default").sort_by { |n| n[:hostname] } # ~FC010 -frontends = search(:node, "recipes:web\\:\\:frontend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.map { |n| n[:hostname] }.sort # ~FC010 -backends = search(:node, "recipes:web\\:\\:backend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.map { |n| n[:hostname] }.sort # ~FC010 -tilecaches = search(:node, "roles:tilecache").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by { |n| n[:hostname] }.map do |n| - { :name => n[:hostname], :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } +clients = search(:node, "recipes:munin\\:\\:default").sort_by(&:name) # ~FC010 +frontends = search(:node, "recipes:web\\:\\:frontend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.map(&:name).sort # ~FC010 +backends = search(:node, "recipes:web\\:\\:backend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.map(&:name).sort # ~FC010 +tilecaches = search(:node, "roles:tilecache").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by(&:name).map do |n| + { :name => n.name.split(".").first, :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } end -renderers = search(:node, "roles:tile").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by { |n| n[:hostname] }.map do |n| - { :name => n[:hostname], :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } +renderers = search(:node, "roles:tile").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by(&:name).map do |n| + { :name => n.name.split(".").first, :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } end -geocoders = search(:node, "roles:nominatim").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by { |n| n[:hostname] }.map do |n| - { :name => n[:hostname], :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } +geocoders = search(:node, "roles:nominatim").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by(&:name).map do |n| + { :name => n.name.split(".").first, :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } end template "/etc/munin/munin.conf" do @@ -81,7 +81,18 @@ remote_directory "/srv/munin.openstreetmap.org" do files_owner "root" files_group "root" files_mode 0o644 - purge true +end + +# directory to put dumped files in +directory "/srv/munin.openstreetmap.org/dumps" do + owner "www-data" + group "www-data" + mode 0o755 +end + +ssl_certificate "munin.openstreetmap.org" do + domains ["munin.openstreetmap.org", "munin.osm.org"] + notifies :reload, "service[apache2]" end apache_site "munin.openstreetmap.org" do @@ -95,6 +106,21 @@ template "/etc/cron.daily/munin-backup" do mode 0o755 end +# simple shell script to dump RRD data to a file +cookbook_file "/usr/local/bin/rrddump" do + source "rrddump.sh" + owner "root" + group "root" + mode 0o755 +end + +template "/etc/cron.d/rrddump" do + source "rrddump.cron.erb" + owner "root" + group "root" + mode 0o755 +end + munin_plugin "munin_stats" munin_plugin "munin_update" munin_plugin "munin_rrdcached"