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