mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
63351ab535
riak -> other (riak) smf -> forum (smf) reddit -> other (reddit) sge -> htc (sge) netscaler -> loadbalancer (netscaler) nutcracker -> other (twemproxy) requesttracker -> other (requesttracker) passenger -> webserver (passenger) gearman -> other (gearman)
43 lines
1.0 KiB
Ruby
Executable File
43 lines
1.0 KiB
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|
|
|
if /max\s+=\s+(\d+)/.match(line)
|
|
max = $~[1]
|
|
elsif /count\s+=\s+(\d+)/.match(line)
|
|
count = $~[1]
|
|
elsif /^active\s+=\s+(\d+)/.match(line)
|
|
active = $~[1]
|
|
elsif /Waiting on global queue\s+=\s+(\d+)/.match(line)
|
|
queued = $~[1]
|
|
end
|
|
end
|
|
|
|
puts "max.value #{max}"
|
|
puts "count.value #{count}"
|
|
puts "active.value #{active}"
|
|
puts "queued.value #{queued.to_i}"
|
|
|