lib/riemann/babbler/plugins/net.rb in riemann-babbler-1.0.8.8 vs lib/riemann/babbler/plugins/net.rb in riemann-babbler-1.1.0pre2
- old
+ new
@@ -1,36 +1,16 @@
class Riemann::Babbler::Net < 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 = 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}"
- end.zip(
- $2.split(/\s+/).map { |str| str.to_i }
- ).each do |service, value|
- status << { :service => service, :metric => value, :as_diff => true}
- end
+ status << { :service => "#{plugin.service} #{iface} bytes out", :metric => SysInfo::Net.out(iface, 'bytes'), :as_diff => true }
+ status << { :service => "#{plugin.service} #{iface} bytes in", :metric => SysInfo::Net.in(iface, 'bytes'), :as_diff => true }
+ status << { :service => "#{plugin.service} #{iface} bytes errors", :metric => SysInfo::Net.total(iface, 'errors'), :state => 'ok' }
end
status
end
end