From c819bdaea227b15dbfee14fb73276f95b0d8f3af Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Tue, 17 Feb 2015 10:01:56 +0000 Subject: [PATCH] Add a munin plugin to monitor the planet dumps and replication --- .../munin/files/default/plugins/planet_age | 50 +++++++++++++++++++ cookbooks/planet/metadata.rb | 1 + cookbooks/planet/recipes/default.rb | 2 + 3 files changed, 53 insertions(+) create mode 100755 cookbooks/munin/files/default/plugins/planet_age diff --git a/cookbooks/munin/files/default/plugins/planet_age b/cookbooks/munin/files/default/plugins/planet_age new file mode 100755 index 000000000..3fb0defe5 --- /dev/null +++ b/cookbooks/munin/files/default/plugins/planet_age @@ -0,0 +1,50 @@ +#!/usr/bin/ruby + +files = [ + { + :label => "planet", + :name => "/store/planet/planet/planet-latest.osm.bz2", + :title => "Planet Dump", + :frequency => 7 * 24 * 60 * 60 + }, + { + :label => "day", + :name => "/store/planet/replication/day/state.txt", + :title => "Daily Replication", + :frequency => 24 * 60 * 60 + }, + { + :label => "hour", + :name => "/store/planet/replication/hour/state.txt", + :title => "Hourly Replication", + :frequency => 60 * 60 + }, + { + :label => "minute", + :name => "/store/planet/replication/minute/state.txt", + :title => "Minutely Replication", + :frequency => 60 + } +] + +if ARGV[0] == "config" + puts "graph_title Planet Age" + puts "graph_args --base 1000 --lower-limit 0" + puts "graph_scale no" + puts "graph_vlabel fraction of expected max age" + puts "graph_category planet" + + files.each do |file| + puts "#{file[:label]}.label #{file[:title]}" + puts "#{file[:label]}.type GAUGE" + puts "#{file[:label]}.warning 0:1.05" + puts "#{file[:label]}.critical 0:1.1" + end +else + + files.each do |file| + value = (Time.now - File.mtime(file[:name])) / file[:frequency] + + puts "#{file[:label]}.value #{value}" + end +end diff --git a/cookbooks/planet/metadata.rb b/cookbooks/planet/metadata.rb index 3e2f5f3cb..c84c69023 100644 --- a/cookbooks/planet/metadata.rb +++ b/cookbooks/planet/metadata.rb @@ -9,3 +9,4 @@ depends "apache" depends "git" depends "osmosis" depends "incron" +depends "munin" diff --git a/cookbooks/planet/recipes/default.rb b/cookbooks/planet/recipes/default.rb index 4938936fa..a7bc00022 100644 --- a/cookbooks/planet/recipes/default.rb +++ b/cookbooks/planet/recipes/default.rb @@ -89,3 +89,5 @@ template "/etc/logrotate.d/apache2" do group "root" mode 0644 end + +munin_plugin "planet_age" -- 2.43.2