Sha256: e86413104186c3d2673df84ce266472772a8fcd6a42ba94b3af1135999cf3d74

Contents?: true

Size: 724 Bytes

Versions: 5

Compression:

Stored size: 724 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 + " offline", :description => "offline panels in #{plugin.url}", :metric => bad }
    ]
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
riemann-babbler-1.0.0 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-0.9.9.9 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-0.9.9.8.1 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-0.9.9.8 lib/riemann/babbler/plugins/panels.rb
riemann-babbler-0.9.9.7 lib/riemann/babbler/plugins/panels.rb