lib/riemann/babbler/plugins/net.rb in riemann-babbler-1.4.0 vs lib/riemann/babbler/plugins/net.rb in riemann-babbler-2.0.0pre1

- old
+ new

@@ -1,6 +1,6 @@ -class Riemann::Babbler::Net < Riemann::Babbler +class Riemann::Babbler::Plugin::Net < Riemann::Babbler::Plugin WORDS = ['rx bytes', 'rx packets', 'rx errs', 'rx drop', @@ -15,25 +15,27 @@ 'tx colls', 'tx carrier', 'tx compressed'] def init + plugin.set_default(:service, 'net') plugin.set_default(:filter, ['rx bytes', 'rx errs', 'rx drop', 'tx bytes', 'tx errs', 'tx drop']) end def collect - f = File.read('/proc/net/dev') + f = File.read('/proc/net/dev') status = Array.new f.split("\n").each do |line| iface = line.split(':')[0].strip iface.gsub!(/\./, '_') next unless line =~ /(\w*)\:\s*([\s\d]+)\s*/ WORDS.map do |service| - "#{plugin.service} #{iface} #{service}" + service end.zip( - $2.split(/\s+/).map { |str| str.to_i } + $2.split(/\s+/).map { |str| str.to_i } ).each do |service, value| - status << { :service => service, :metric => value, :as_diff => true} + next unless plugin.filter.include? service + status << { :service => "#{plugin.service} #{service} #{iface}", :metric => value, :as_diff => true } end end status end