summaryrefslogtreecommitdiff
path: root/files/munin/passenger_stats
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2010-07-15 23:41:29 +0200
committervarac <varacanero@zeromail.org>2010-07-15 23:41:29 +0200
commit3214469254a1d20a3ea8637d2cca3b07c2b03e78 (patch)
tree442383f4be41675051e9c1f509e6d029a69ed8e3 /files/munin/passenger_stats
parent9b7eb96eb112a989be41949dcedd974b2390f13d (diff)
parent9820bf2428a6fe3dbd0f361e5679991d263b73af (diff)
merge with shared-modules/passenger
Diffstat (limited to 'files/munin/passenger_stats')
-rwxr-xr-xfiles/munin/passenger_stats45
1 files changed, 45 insertions, 0 deletions
diff --git a/files/munin/passenger_stats b/files/munin/passenger_stats
new file mode 100755
index 0000000..a117903
--- /dev/null
+++ b/files/munin/passenger_stats
@@ -0,0 +1,45 @@
+#!/usr/bin/env ruby
+
+def output_config
+ puts <<-END
+graph_category Passenger
+graph_title passenger status
+graph_vlabel count
+
+sessions.label sessions
+max.label max processes
+running.label running processes
+active.label active processes
+inactive.label inactive processes
+END
+ exit 0
+end
+
+def output_values
+ status = `/usr/sbin/passenger-status`
+ unless $?.success?
+ $stderr.puts "failed executing passenger-status"
+ exit 1
+ end
+ status =~ /max\s+=\s+(\d+)/
+ puts "max.value #{$1}"
+
+ status =~ /count\s+=\s+(\d+)/
+ puts "running.value #{$1}"
+
+ status =~ /active\s+=\s+(\d+)/
+ puts "active.value #{$1}"
+
+ status =~ /inactive\s+=\s+(\d+)/
+ puts "inactive.value #{$1}"
+
+ total_sessions = 0
+ status.scan(/Sessions: (\d+)/).flatten.each { |count| total_sessions += count.to_i }
+ puts "sessions.value #{total_sessions}"
+end
+
+if ARGV[0] == "config"
+ output_config
+else
+ output_values
+end