Sha256: 2d6c9026ce4d31d8549b7b86e9edf432a2ad6c56e758a1c1dc41ed4b91ee6e4b

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

require "zabbix-ruby-client/logger"

module ZabbixRubyClient
  module Plugins
    module Sysinfo
      extend self

      def collect(*args)
        host = args.delete_at(0)
        uname = `uname -a`
        if $?.to_i == 0
          arch, hostname, kernel, kernel_version, machine, os_debian,
          _, platform_debian, _, _, _, _, _, platform, os = uname.split(/ /)
        else
          Log.warn "Are you running on ubuntu ?"
          return []
        end
        time = Time.now.to_i
        back = []
        back << "#{host} sysinfo[name] #{time} #{host}"
        back << "#{host} sysinfo[arch] #{time} #{arch}"
        back << "#{host} sysinfo[hostname] #{time} #{hostname}"
        back << "#{host} sysinfo[kernel] #{time} #{kernel}"
        back << "#{host} sysinfo[kernel_version] #{time} #{kernel_version}"
        back << "#{host} sysinfo[machine] #{time} #{machine}"
        back << "#{host} sysinfo[platform] #{time} #{platform || platform_debian}"
        back << "#{host} sysinfo[os] #{time} #{os || os_debian}"
        Hash[*args].each do |k,v|
          back << "#{host} sysinfo[#{k}] #{time} #{v}"
        end
        return back
      end

    end
  end
end

ZabbixRubyClient::Plugins.register('sysinfo', ZabbixRubyClient::Plugins::Sysinfo)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zabbix-ruby-client-0.1.2 lib/zabbix-ruby-client/plugins/sysinfo.rb