X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/18351f3cffb55b7fafcd6e0f5afa6a76c79ef0fe..b52a55582446c7639f6727db470a9ba4d6ba7c1b:/cookbooks/munin/recipes/server.rb?ds=sidebyside diff --git a/cookbooks/munin/recipes/server.rb b/cookbooks/munin/recipes/server.rb index dcff86860..47b7fa094 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, @@ -49,13 +49,13 @@ clients = search(:node, "recipes:munin\\:\\:default").sort_by { |n| n[:hostname] 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] } + { :name => n[:hostname], :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] } + { :name => n[:hostname], :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] } + { :name => n[:hostname], :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"