Sha256: 8bc6522f1b6714699160e8efbbba61ef2f2ea32b5404b0809ddc6cac9debbe12
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
require "zabbix-ruby-client/logger" module ZabbixRubyClient module Plugins module Mysqlcommand extend self extend ZabbixRubyClient::PluginBase def collect(*args) host = args.shift app = args.shift mysqldb = args.shift mysqlargs = args.shift mysqlcommand = "mysql #{mysqlargs} -s --skip-column-names -e \"%s\" #{mysqldb}" back = [] Hash[*args].each do |name, command| comm = sprintf(mysqlcommand, command.gsub(/"/,'\"')) res = `#{comm}` if $?.to_i == 0 if name[0] == "_" res.each_line do |line| label, value = line,split("\t") back << "#{host} app.#{app}[#{name[1..-1]},#{label}] #{time} #{value}" end elsif name[/,/] res = res.split("\t") name.split(',').each_with_index do |n, i| back << "#{host} app.#{app}[#{n}] #{time} #{res[i]}" end else back << "#{host} app.#{app}[#{name}] #{time} #{res}" end else Log.warn "The connection failed." return [] end end return back end end end end ZabbixRubyClient::Plugins.register('mysqlcommand', ZabbixRubyClient::Plugins::Mysqlcommand)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zabbix-ruby-client-0.1.3 | lib/zabbix-ruby-client/plugins/mysqlcommand.rb |