Sha256: 28b0261e1b32d54ddffadd9d693022df0976f1f1037e40ce194d1601bb0c0d6a
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 KB
Contents
# uses http://wiki.nginx.org/HttpStubStatusModule require "zabbix-ruby-client/logger" module ZabbixRubyClient module Plugins module Nginx extend self def collect(*args) host = args[0] info = get_status time = Time.now.to_i back = [] back << "#{host} nginx[total] #{time} #{info[:total]}" back << "#{host} nginx[reading] #{time} #{info[:reading]}" back << "#{host} nginx[writing] #{time} #{info[:writing]}" back << "#{host} nginx[waiting] #{time} #{info[:waiting]}" back << "#{host} nginx[accepted] #{time} #{info[:accepted]}" back << "#{host} nginx[handled] #{time} #{info[:handled]}" back << "#{host} nginx[requests] #{time} #{info[:requests]}" return back end def get_status ret = {} open "http://127.0.0.1:8090/nginx_status" do |f| f.each_line do |line| ret[:total] = $1 if line =~ /^Active connections:\s+(\d+)/ if line =~ /^Reading:\s+(\d+).*Writing:\s+(\d+).*Waiting:\s+(\d+)/ ret[:reading] = $1 ret[:writing] = $2 ret[:waiting] = $3 end ret[:accepted], ret[:handled], ret[:requests] = [$1, $2, $3] if line =~ /^\s+(\d+)\s+(\d+)\s+(\d+)/ end end ret end end end end ZabbixRubyClient::Plugins.register('nginx', ZabbixRubyClient::Plugins::Nginx)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zabbix-ruby-client-0.0.17 | lib/zabbix-ruby-client/plugins/nginx.rb |
zabbix-ruby-client-0.0.16 | lib/zabbix-ruby-client/plugins/nginx.rb |