Sha256: 7aa68b5795f3ba399d2f8305f8e97c0bee6a9445f2a61ee315404359e591ca6a
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
class Nginx include Watchman def self.data out = PS.data.inject({:masters => [], :workers => []}) do |acc,line| if line[:command][/^nginx: master/] acc[:masters] << line end if line[:command][/^nginx: worker/] acc[:workers] << line end acc end require 'net/http' require 'net/https' uri = URI.parse("http://localhost/nginx_status") http = Net::HTTP.new(uri.host, uri.port) req = Net::HTTP::Get.new(uri.path) resp = http.request(req) case resp when Net::HTTPSuccess active, garbage, nums, open = resp.read_body.split("\n") accepts, handled, requests = nums.split garbage, reading, garbage, writing, garbage, waiting = open.split out.merge({:active_connections => active.gsub(/.*:/,''), :accepted => accepts, :handled => handled, :requests => requests, :reading => reading, :writing => writing, :waiting => waiting}) end out.merge({:num_masters => out[:masters].count, :num_workers => out[:workers].count, :summary => [:num_masters, :num_workers, :active_connections]}) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
city-watch-0.4.7 | lib/city_watch/watchmen/nginx.rb |