Sha256: bf62ef3eeeb23b32b9df18fcb95b9b68e7fef17a6044ec794f3aed86dffdd946

Contents?: true

Size: 1.14 KB

Versions: 39

Compression:

Stored size: 1.14 KB

Contents

class Riemann::Babbler::Nginx < Riemann::Babbler

    NGINX_STATUS_1 = [
      'accepts',
      'handled',
      'requests'
    ]

    NGINX_STATUS_2 = [
      'reading',
      'writing',
      'waiting'
    ]

  def init
    plugin.set_default(:service, 'nginx')
    plugin.set_default(:status_file, '/etc/nginx/sites-enabled/status')
    plugin.set_default(:status_url, 'http://127.0.0.1:11311/status')
    plugin.set_default(:interval, 60)
  end

  def run_plugin
    File.exists? plugin.status_file
  end

  def collect
    status = Array.new
    lines = rest_get(plugin.status_url).split("\n")
    lines[2].scan(/\d+/).each_with_index do |value, index|
      status << { :service => plugin.service + " #{NGINX_STATUS_1[index]}", :metric => value.to_i, :as_diff => true }
    end
    # line[0]: Active connections: XXXX
    status << { :service => plugin.service + " active", :metric => lines[0].split(":")[1].strip.to_i }
    # lines[3]: Reading: 0 Writing: 1 Waiting: 0
    lines[3].scan(/\d+/).each_with_index do |value, index|
      status << { :service => plugin.service + " #{NGINX_STATUS_2[index]}", :metric => value.to_i }
    end
    status
  end

end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
riemann-babbler-1.0.7.9 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7.8 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7.7 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7.5 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7.4 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.1.0pre2 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7.3 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7.2 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7.1 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.7 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.6 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5.7 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5.6 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5.5 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5.4 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5.3 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5.2 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5.1 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.5 lib/riemann/babbler/plugins/nginx.rb
riemann-babbler-1.0.4 lib/riemann/babbler/plugins/nginx.rb