Sha256: f16a0c59b47b057f12fb3e7e28223fc244fbce9ed2be1a31abb64d78797d404a
Contents?: true
Size: 1.42 KB
Versions: 3
Compression:
Stored size: 1.42 KB
Contents
# encoding: utf-8 require 'kurchatov/plugin' require 'kurchatov/mashie' module Kurchatov module Plugins class Riemann < Kurchatov::Plugin include Kurchatov::Mixin::Ohai include Kurchatov::Mixin::Event include Kurchatov::Mixin::Command include Kurchatov::Mixin::Http attr_accessor :run_if, :collect, :always_start, :ignore_errors, :interval, :plugin def initialize(name = '') super(name) @run_if = Proc.new { true } @plugin = Mashie.new @always_start = false @ignore_errors = false @collect = nil @interval = 60.0 end def run loop do t_start = Time.now Timeout::timeout(interval * 2.to_f/3) do self.instance_eval(&collect) end sleep(interval - (Time.now - t_start).to_i) end end def respond_to_ohai?(opts = {}) opts.each { |k, v| return false unless ohai[k] == v } true end def runnable_by_config? Log.info("Plugin '#{self.name}' disabled by nil collect") and return if collect.nil? Log.info("Plugin '#{self.name}' disabled in config") and return if (plugin[:disable] == true) Log.info("Plugin '#{self.name}' not started by run_if condition ") and return unless self.instance_eval(&run_if) @plugin[:service] = name if @plugin[:service].nil? true end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
kurchatov-0.0.6.pre.3 | lib/kurchatov/plugin/riemann.rb |
kurchatov-0.0.6.pre.2 | lib/kurchatov/plugin/riemann.rb |
kurchatov-0.0.6.pre.1 | lib/kurchatov/plugin/riemann.rb |