43 lines
1007 B
Ruby
Executable File
43 lines
1007 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
#
|
|
# [passenger_processes]
|
|
# user root
|
|
# env.process_stats_command /opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status
|
|
#
|
|
|
|
process_stats_command = ENV['process_stats_command'] || '/opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status'
|
|
|
|
if ARGV.length > 0 && ARGV[0] == 'config'
|
|
puts 'graph_title Passenger Processes'
|
|
puts 'graph_category webserver'
|
|
puts 'graph_vlabel processes'
|
|
puts 'max.label Max processes'
|
|
puts 'count.label Total processes'
|
|
puts 'active.label Active processes'
|
|
puts 'queued.label Queued requests'
|
|
exit(0)
|
|
end
|
|
|
|
max = nil
|
|
count = nil
|
|
active = nil
|
|
queued = nil
|
|
|
|
`#{process_stats_command}`.each_line do |line|
|
|
case line
|
|
when /max\s+=\s+(\d+)/
|
|
max = $~[1]
|
|
when /count\s+=\s+(\d+)/
|
|
count = $~[1]
|
|
when /^active\s+=\s+(\d+)/
|
|
active = $~[1]
|
|
when /Waiting on global queue\s+=\s+(\d+)/
|
|
queued = $~[1]
|
|
end
|
|
end
|
|
|
|
puts "max.value #{max}"
|
|
puts "count.value #{count}"
|
|
puts "active.value #{active}"
|
|
puts "queued.value #{queued.to_i}"
|