Sha256: a00ba80295a03d809a7c35c8fc6c008c4359903be8e0ab7e58f2e44e3bd4ede5

Contents?: true

Size: 739 Bytes

Versions: 15

Compression:

Stored size: 739 Bytes

Contents

require 'json'

class Riemann::Babbler::Panels < Riemann::Babbler

  def init
    plugin.set_default(:service, 'panels')
    plugin.set_default(:interval, 60)
    plugin.set_default(:url, 'http://localhost/panel.json')
    plugin.states.set_default(:critical, 60)
  end

  def collect

    json = JSON.parse rest_get(plugin.url)
    good, bad = 0, 0

    json["panels"].each do |panel|
      panel["status"] == "offline" ? bad += 1 : good += 1
    end

    [
      {:service => plugin.service + " online", :description => "online panels in #{plugin.url}", :metric => good, :state => 'ok' },
      {:service => plugin.service + " all", :description => "all panels in #{plugin.url}", :metric => bad + good, :state => 'ok' }
    ]
  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
riemann-babbler-1.0.7.2 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.7.1 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.7 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.6 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5.7 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5.6 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5.5 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5.4 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5.3 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5.2 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5.1 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.5 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.4 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.3 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-1.0.2 lib/riemann/babbler/plugins/panels.rb