Sha256: 594bb4e6ced7172f86b3a79792ff9f85e5832dd1ea921cc74c6a3348ce78cc6c

Contents?: true

Size: 852 Bytes

Versions: 1

Compression:

Stored size: 852 Bytes

Contents

require 'json'

class Riemann::Babbler::Mpeg2lander < Riemann::Babbler

  def init
    plugin.set_default(:service, 'mpeg2lander')
    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 ) )['streams'].each do |stream|
      stream['programs'].each do |programm|
        next unless programm['time_tracker']
        next unless programm['time_tracker']['current_time']
        timing = abs(programm['time_tracker']['current_time'].split('diff')[1].to_i)
        array << { :service => plugin.service + " status #{programm['name']}", :metric => timing.to_i, :description => "Mpeg2lander timming name #{programm['name']}" }
      end # end programm
    end # end stream
    array
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
riemann-babbler-1.0.7.1 lib/riemann/babbler/plugins/mpeg2lander.rb