]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/munin/files/default/plugins/passenger_processes
Add a bunch more cookbooks
[chef.git] / cookbooks / munin / files / default / plugins / passenger_processes
diff --git a/cookbooks/munin/files/default/plugins/passenger_processes b/cookbooks/munin/files/default/plugins/passenger_processes
new file mode 100755 (executable)
index 0000000..d89d041
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/env ruby
+
+def output_config
+  puts <<-END
+graph_category passenger
+graph_title Passenger processes
+graph_order active inactive
+graph_vlabel processes
+graph_total total
+
+active.label busy servers
+active.draw AREA
+inactive.label idle servers
+inactive.draw STACK
+END
+  exit 0
+end
+
+def output_values
+  status = `/usr/sbin/passenger-status`
+  unless $?.success?
+    $stderr.puts "failed executing passenger-status"
+    exit 1
+  end
+  status =~ /active\s+=\s+(\d+)/
+  puts "active.value #{$1}"
+
+  status =~ /inactive\s+=\s+(\d+)/
+  puts "inactive.value #{$1}"
+end
+
+if ARGV[0] == "config"
+  output_config
+else
+  output_values
+end