lib/zabbix-ruby-client/plugins/cpu.rb in zabbix-ruby-client-0.0.5 vs lib/zabbix-ruby-client/plugins/cpu.rb in zabbix-ruby-client-0.0.6
- old
+ new
@@ -1,28 +1,35 @@
+# for more info check http://www.linuxhowtos.org/System/procstat.htm
+
class ZabbixRubyClient
module Plugins
module Cpu
extend self
def collect(*args)
host = args[0]
- cpuinfo = `mpstat | grep " all "`
+ #cpuinfo = `mpstat | grep " all "`
+ cpuinfo = `cat /proc/stat | grep "^cpu"`
if $?.to_i == 0
- _, _, _, user, nice, sys, wait, irq, soft, steal, guest, idle = cpuinfo.split(/\s+/)
+ _, user, nice, sys, idle, wait, irq, soft, guest, steal = cpuinfo.split(/\s+/).map(&:to_i)
else
- logger.warn "Please install sysstat."
+ logger.warn "Oh you don't have a /proc ?"
return []
end
+ used = user + nice + sys + wait + irq + soft + steal + guest
+ total = used + idle
back = []
back << "#{host} cpu[user] #{user}"
back << "#{host} cpu[nice] #{nice}"
back << "#{host} cpu[system] #{sys}"
back << "#{host} cpu[iowait] #{wait}"
back << "#{host} cpu[irq] #{irq}"
back << "#{host} cpu[soft] #{soft}"
back << "#{host} cpu[steal] #{steal}"
back << "#{host} cpu[guest] #{guest}"
back << "#{host} cpu[idle] #{idle}"
+ back << "#{host} cpu[used] #{used}"
+ back << "#{host} cpu[total] #{total}"
return back
end
end