Sha256: d0382612da0c1aa0f813e82c3fa594721a5dadc1249a4db528a9ecc3510fa2cd

Contents?: true

Size: 797 Bytes

Versions: 2

Compression:

Stored size: 797 Bytes

Contents

class Riemann::Babbler::Net
  include Riemann::Babbler

  WORDS = ['rx bytes',
    'rx packets',
    'rx errs',
    'rx drop',
    'rx fifo',
    'rx frame',
    'rx compressed',
    'rx multicast',
    'tx bytes',
    'tx packets',
    'tx drops',
    'tx fifo',
    'tx colls',
    'tx carrier',
    'tx compressed']

  def collect
    f = File.read('/proc/net/dev')
    status = Hash.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}"
      end.zip(
        $2.split(/\s+/).map { |str| str.to_i }
      ).each do |service, value|
        status.merge!({service => value})
      end
    end
    status
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
riemann-babbler-0.3.1 lib/riemann/babbler/plugins/net.rb
riemann-babbler-0.3.0 lib/riemann/babbler/plugins/net.rb