Sha256: 26daa57cdf81782a8c4e21af042693419e93c8f31377b44a9d326691241c8616

Contents?: true

Size: 854 Bytes

Versions: 1

Compression:

Stored size: 854 Bytes

Contents

require 'json'

class Riemann::Babbler::Sdigrabber < Riemann::Babbler

  def init
    plugin.set_default(:service, 'sdigrabber')
    plugin.set_default(:interval, 60)
    plugin.set_default(:url, 'http://localhost/status')
    plugin.states.set_default(:critical, 10)
  end

  def collect
    array = Array.new
    JSON.parse( rest_get( plugin.url ) ).each do |box|
      box['processors'].each do |processor, processor_options|
        next unless processor =~ /Proc\s+encoder/
        next unless processor_options['setup']['last-unit-pts']
        timing = (unixnow - processor_options['setup']['last-unit-pts'].to_i).abs
        cid = processor_options['setup']['cid']
        array << { :service => plugin.service + " status #{cid}", :metric => timing.to_i, :description => "Sdigrabber timming cid #{cid}" }
      end
    end
    array
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
riemann-babbler-1.0.7.2 lib/riemann/babbler/plugins/sdigrabber.rb