diff options
author | Daniel DeLeo <dan@opscode.com> | 2011-02-08 16:17:08 -0800 |
---|---|---|
committer | Daniel DeLeo <dan@opscode.com> | 2011-02-08 16:17:08 -0800 |
commit | 96ec333390afde0038c77640a816523dd58c6c17 (patch) | |
tree | bd9b3b56a8c6d98fd8b05e653cd5a3f3cdbb9e41 /chef-expander/scripts | |
parent | 9961a7ab75a9c40cd359f78f22189440b7b30a7a (diff) | |
download | chef-96ec333390afde0038c77640a816523dd58c6c17.tar.gz |
import munin plugin for chef-expander
Diffstat (limited to 'chef-expander/scripts')
-rwxr-xr-x | chef-expander/scripts/check_queue_size_munin | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/chef-expander/scripts/check_queue_size_munin b/chef-expander/scripts/check_queue_size_munin new file mode 100755 index 0000000000..c0725196db --- /dev/null +++ b/chef-expander/scripts/check_queue_size_munin @@ -0,0 +1,51 @@ +#!/usr/bin/env ruby + +require 'rubygems' +require 'munin_plugin' +Dir.chdir(File.join(File.expand_path(File.dirname(__FILE__)), "..")) do + require 'bunny' + + $:.unshift(File.expand_path('../../lib', __FILE__)) + require 'chef/expander' + require 'chef/expander/version' + require 'chef/expander/configuration' + + include Chef + +munin_plugin do + graph_title "Expander Queue Size" + graph_vlabel "Events" + graph_category "Opscode" + graph_info "Events in the Expander Queue waiting to be consumed by Solr." + queuesize.label "events" + queuesize.draw "LINE" + queuesize.warning "100" + queuesize.critical "200" + + collect do + + Expander.init_config([]) + + message_counts = [] + + begin + amqp_client = Bunny.new(Expander.config.amqp_config) + amqp_client.start + + 0.upto(Expander::VNODES - 1) do |vnode| + q = amqp_client.queue("vnode-#{vnode}", :durable => true) + message_counts << q.status[:message_count] + end + total_messages = message_counts.inject(:+) + + ensure + amqp_client.stop if defined?(amqp_client) && amqp_client && amqp_client.connected? + end + + queuesize.value total_messages + + end + + + end +end |