diff options
author | varac <varacanero@zeromail.org> | 2010-07-15 23:41:29 +0200 |
---|---|---|
committer | varac <varacanero@zeromail.org> | 2010-07-15 23:41:29 +0200 |
commit | 3214469254a1d20a3ea8637d2cca3b07c2b03e78 (patch) | |
tree | 442383f4be41675051e9c1f509e6d029a69ed8e3 /files/munin/passenger_stats | |
parent | 9b7eb96eb112a989be41949dcedd974b2390f13d (diff) | |
parent | 9820bf2428a6fe3dbd0f361e5679991d263b73af (diff) |
merge with shared-modules/passenger
Diffstat (limited to 'files/munin/passenger_stats')
-rwxr-xr-x | files/munin/passenger_stats | 45 |
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 |