lib/zabbix-ruby-client.rb in zabbix-ruby-client-0.0.15 vs lib/zabbix-ruby-client.rb in zabbix-ruby-client-0.0.16
- old
+ new
@@ -1,81 +1,13 @@
require "zabbix-ruby-client/version"
require "zabbix-ruby-client/logger"
require "zabbix-ruby-client/plugins"
require "zabbix-ruby-client/store"
require "zabbix-ruby-client/data"
+require "zabbix-ruby-client/runner"
require "yaml"
-class ZabbixRubyClient
+module ZabbixRubyClient
- def initialize(config_file, task_file)
- begin
- @config ||= YAML::load_file(config_file)
- if File.exists? task_file
- @tasks ||= YAML::load_file(task_file)
- else
- @tasks = @config["plugins"]
- end
- rescue Exception => e
- puts "Configuration file cannot be read"
- puts e.message
- return
- end
-
- @store = Store.new(
- @config['datadir'],
- @config['zabbix']['host'],
- File.basename(task_file,'.yml'),
- @config['keepdata']
- )
-
- @data = Data.new(@config['host'])
-
- @config["server"] = File.basename(config_file,'.yml')
- @logsdir = makedir(@config['logsdir'],'logs')
- @plugindirs = [ File.expand_path("../zabbix-ruby-client/plugins", __FILE__) ]
- if @config["plugindirs"]
- @plugindirs = @plugindirs + @config["plugindirs"]
- end
- Plugins.load_dirs @plugindirs
- logger.debug @config.inspect
- end
-
- def collect
- @tasks.each do |plugin|
- @data.run_plugin(plugin['name'], plugin['args'])
- end
- end
-
- def show
- @data.merge.each do |line|
- puts line
- end
- end
-
- def upload
- file = @store.record(@data.merge)
- begin
- res = `#{@config['zabbix']['sender']} -z #{@config['zabbix']['host']} -p #{@config['zabbix']['port']} -T -i #{file}`
- if $?.to_i != 0
- @store.keepdata(file)
- end
- rescue Exception => e
- @store.keepdata(file)
- logger.error "Sending failed."
- logger.error e.message
- end
- end
-
- def logger
- @logger ||= Logger.get_logger(@logsdir, @config["loglevel"])
- end
-
- private
-
- def makedir(configdir, defaultdir)
- dir = configdir || defaultdir
- FileUtils.mkdir dir unless Dir.exists? dir
- dir
- end
+ PLUGINDIR = File.expand_path("../zabbix-ruby-client/plugins", __FILE__)
end