Guest User

Untitled

a guest
Apr 24th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. #
  3. # A munin script to monitor starling queues via starling_top
  4. # Damon P. Cortesi (@dacort)
  5.  
  6. def output_config(queue_items)
  7. puts <<-END
  8. graph_category App
  9. graph_title starling queues
  10. graph_vlabel count
  11.  
  12. #{queue_items.split("\n").select{|x| x !~ /(expired|total)_items/}.collect{|x| x.split("__")[0].gsub(/^queue_/, "").split('_').map {|w| w.capitalize}.join}.collect{|x| "#{x}.label #{x}"}.join("\n")}
  13. END
  14. exit 0
  15. end
  16.  
  17. def output_values(queue_items)
  18. queue_items.split("\n").select{|x| x !~ /(expired|total)_items/}.each do |x|
  19. x =~ /queue_(\w+)__\w+: (\d+)/
  20. queue,val = $1,$2
  21. puts "#{queue.split('_').map {|w| w.capitalize}.join}.value #{val}"
  22. end
  23. end
  24.  
  25. queue_items = `/usr/bin/starling_top -p 15151 | grep -E "^queue_.*_items"`
  26. unless $?.success?
  27. $stderr.puts "failed executing starling_top"
  28. exit 1
  29. end
  30.  
  31. if ARGV[0] == "config"
  32. output_config queue_items
  33. else
  34. output_values queue_items
  35. end
Add Comment
Please, Sign In to add comment