Sha256: 218b543c815ddf67e6ac6043f64e6ad620ea8f6420bb8013b3ce1c069bbede24
Contents?: true
Size: 1.88 KB
Versions: 7
Compression:
Stored size: 1.88 KB
Contents
require "thor" require "zabbix-ruby-client" module ZabbixRubyClient class Cli < Thor include Thor::Actions def self.source_root File.expand_path("../../../templates", __FILE__) end default_task :help class_option :configfile, aliases: "-c", banner: "PATH", default: File.expand_path("config.yml", Dir.pwd), desc: "Path to the configuration file to use" class_option :taskfile, aliases: "-t", banner: "PATH", default: File.expand_path("minutely.yml", Dir.pwd), desc: "Path to the list of plugins to execute" desc "init", "Initialize a new zabbix ruby client" def init(name = "zabbix-ruby-client") directory "client", name end desc "show", "Displays in console what are the collected data ready to be sent" def show begin Bundler.require rescue Bundler::GemfileNotFound say "No Gemfile found", :red abort end config = YAML::load_file(options[:configfile]) if File.exists? options[:taskfile] tasks = YAML::load_file(options[:taskfile]) else tasks = config['plugins'] end config['server'] = File.basename(options[:configfile],'.yml') config['taskfile'] = File.basename(options[:taskfile],'.yml') zrc = ZabbixRubyClient::Runner.new(config, tasks) zrc.collect zrc.show end desc "upload", "Collects and sends data to the zabbix server" def upload config = YAML::load_file(options[:configfile]) if File.exists? options[:taskfile] tasks = YAML::load_file(options[:taskfile]) else tasks = config['plugins'] end config['server'] = File.basename(options[:configfile],'.yml') config['taskfile'] = File.basename(options[:taskfile],'.yml') zrc = ZabbixRubyClient::Runner.new(config, tasks) zrc.collect zrc.upload end end end
Version data entries
7 entries across 7 versions & 1 rubygems