zabcon 0.0.357 → 0.0.366
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/libs/command_tree.rb +5 -5
- data/libs/help.xml +4 -4
- data/libs/input.rb +2 -2
- data/libs/lexer.rb +2 -2
- data/libs/printer.rb +3 -3
- data/libs/revision.rb +1 -1
- data/libs/utility_items.rb +2 -2
- data/libs/zabbix_server.rb +3 -0
- data/libs/zabcon_commands.rb +9 -5
- data/libs/zabcon_core.rb +23 -18
- data/revision_information +7 -0
- data/zabcon.conf.default +3 -3
- data/zabcon.rb +4 -4
- metadata +4 -4
data/libs/command_tree.rb
CHANGED
@@ -19,8 +19,8 @@
|
|
19
19
|
#--
|
20
20
|
##########################################
|
21
21
|
# Subversion information
|
22
|
-
# $Id: command_tree.rb
|
23
|
-
# $Revision:
|
22
|
+
# $Id: command_tree.rb 365 2011-12-22 04:26:54Z nelsonab $
|
23
|
+
# $Revision: 365 $
|
24
24
|
##########################################
|
25
25
|
#++
|
26
26
|
|
@@ -439,7 +439,7 @@ class Command
|
|
439
439
|
end
|
440
440
|
|
441
441
|
def call_tokenizer(parameters)
|
442
|
-
debug(6,:msg=>"parameters",:var=>"\"#{parameters.
|
442
|
+
debug(6,:msg=>"parameters",:var=>"\"#{parameters.inspect}\"")
|
443
443
|
debug(7,:msg=>"Using tokenizer", :var=>@tokenizer.to_s)
|
444
444
|
tokenized_parameters=@tokenizer.new(parameters)
|
445
445
|
tokenized_parameters=@tokenizer_method.call(tokenized_parameters) if @tokenizer_method
|
@@ -448,7 +448,7 @@ class Command
|
|
448
448
|
end
|
449
449
|
|
450
450
|
def call_arg_processor(parameters)
|
451
|
-
debug(6,:msg=>"parameters",:var=>"\"#{parameters.
|
451
|
+
debug(6,:msg=>"parameters",:var=>"\"#{parameters.inspect}\"")
|
452
452
|
check_parameters(parameters)
|
453
453
|
@arguments=Arguments.new(parameters, @flags)
|
454
454
|
debug(6,:var=>@arguments)
|
@@ -480,7 +480,7 @@ class Command
|
|
480
480
|
|
481
481
|
puts @depreciated if !@depreciated.nil?
|
482
482
|
if !@flags.nil? && @flags[:login_required] && !server.connected?
|
483
|
-
raise LoginRequired.new("\"#{@
|
483
|
+
raise LoginRequired.new("\"#{@path.join(" ")}\" requires an active login")
|
484
484
|
end
|
485
485
|
|
486
486
|
@response.data=@cmd_method.call(parameters)
|
data/libs/help.xml
CHANGED
@@ -21,8 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
21
21
|
|
22
22
|
##########################################
|
23
23
|
Subversion information
|
24
|
-
$Id: help.xml
|
25
|
-
$Revision:
|
24
|
+
$Id: help.xml 361 2011-12-19 00:21:52Z richlv $
|
25
|
+
$Revision: 361 $
|
26
26
|
##########################################
|
27
27
|
|
28
28
|
Zabcon help file
|
@@ -166,7 +166,7 @@ Add Item
|
|
166
166
|
syntax: add item type=active hostid=num description="some text" key="item.key"
|
167
167
|
|
168
168
|
valid parameters:
|
169
|
-
hostid, snmpv3_securitylevel, snmp_community, publickey, delta, history,
|
169
|
+
hostid, snmpv3_securitylevel, snmp_community, publickey, delta, history,
|
170
170
|
key, snmp_oid, delay_flex, multiplier, delay, mtime, username, authtype,
|
171
171
|
data_type, ipmi_sensor,snmpv3_authpassphrase, prevorgvalue, units, trends,
|
172
172
|
snmp_port, formula, type, params, logtimefmt, snmpv3_securityname,
|
@@ -242,7 +242,7 @@ syntax: delete user id=num
|
|
242
242
|
|
243
243
|
<item command="delete_item">
|
244
244
|
Delete Item
|
245
|
-
syntax: delete item itemid=num
|
245
|
+
syntax: delete item itemid=num
|
246
246
|
itemid must be a number
|
247
247
|
</item>
|
248
248
|
|
data/libs/input.rb
CHANGED
@@ -18,8 +18,8 @@
|
|
18
18
|
|
19
19
|
##########################################
|
20
20
|
# Subversion information
|
21
|
-
# $Id: input.rb
|
22
|
-
# $Revision:
|
21
|
+
# $Id: input.rb 361 2011-12-19 00:21:52Z richlv $
|
22
|
+
# $Revision: 361 $
|
23
23
|
##########################################
|
24
24
|
|
25
25
|
require 'readline'
|
data/libs/lexer.rb
CHANGED
@@ -19,8 +19,8 @@
|
|
19
19
|
#--
|
20
20
|
##########################################
|
21
21
|
# Subversion information
|
22
|
-
# $Id: lexer.rb
|
23
|
-
# $Revision:
|
22
|
+
# $Id: lexer.rb 361 2011-12-19 00:21:52Z richlv $
|
23
|
+
# $Revision: 361 $
|
24
24
|
##########################################
|
25
25
|
#++
|
26
26
|
|
data/libs/printer.rb
CHANGED
@@ -19,8 +19,8 @@
|
|
19
19
|
|
20
20
|
##########################################
|
21
21
|
# Subversion information
|
22
|
-
# $Id: printer.rb
|
23
|
-
# $Revision:
|
22
|
+
# $Id: printer.rb 361 2011-12-19 00:21:52Z richlv $
|
23
|
+
# $Revision: 361 $
|
24
24
|
##########################################
|
25
25
|
|
26
26
|
require 'zbxapi/zdebug'
|
@@ -348,7 +348,7 @@ class OutputPrinter
|
|
348
348
|
else
|
349
349
|
cols_to_show=cols.empty? ? nil : cols[:show]
|
350
350
|
end
|
351
|
-
|
351
|
+
|
352
352
|
puts dataset.message if dataset.message
|
353
353
|
|
354
354
|
# p dataset[:result].class
|
data/libs/revision.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
REVISION=
|
1
|
+
REVISION=366
|
data/libs/utility_items.rb
CHANGED
@@ -17,8 +17,8 @@
|
|
17
17
|
|
18
18
|
##########################################
|
19
19
|
# Subversion information
|
20
|
-
# $Id: utility_items.rb
|
21
|
-
# $Revision:
|
20
|
+
# $Id: utility_items.rb 361 2011-12-19 00:21:52Z richlv $
|
21
|
+
# $Revision: 361 $
|
22
22
|
##########################################
|
23
23
|
|
24
24
|
require "zbxapi/zdebug"
|
data/libs/zabbix_server.rb
CHANGED
@@ -22,6 +22,7 @@
|
|
22
22
|
# $Revision: 325 $
|
23
23
|
##########################################
|
24
24
|
|
25
|
+
require 'yaml'
|
25
26
|
require 'zbxapi'
|
26
27
|
require 'zbxapi/zdebug'
|
27
28
|
require 'libs/zabcon_globals'
|
@@ -101,6 +102,8 @@ class ZabbixServer
|
|
101
102
|
File.open(path,"w") do |f|
|
102
103
|
f.write({"auth"=>@connection.auth}.to_yaml)
|
103
104
|
end
|
105
|
+
#Enforce that the auth cache file isn't world readable
|
106
|
+
File.chmod(0600,path)
|
104
107
|
end
|
105
108
|
|
106
109
|
end
|
data/libs/zabcon_commands.rb
CHANGED
@@ -17,8 +17,8 @@
|
|
17
17
|
|
18
18
|
##########################################
|
19
19
|
# Subversion information
|
20
|
-
# $Id: zabcon_commands.rb
|
21
|
-
# $Revision:
|
20
|
+
# $Id: zabcon_commands.rb 364 2011-12-22 04:21:13Z nelsonab $
|
21
|
+
# $Revision: 364 $
|
22
22
|
##########################################
|
23
23
|
|
24
24
|
require "zbxapi/zdebug"
|
@@ -267,10 +267,14 @@ ZabconCommand.add_command "raw api" do
|
|
267
267
|
params.delete_at(0)
|
268
268
|
args={}
|
269
269
|
if !params.empty?
|
270
|
-
|
270
|
+
params.each { |param|
|
271
|
+
if param.is_a?(Hash)
|
272
|
+
args.merge!(param)
|
273
|
+
else
|
274
|
+
raise Command::ParameterError.new("Unexpected parameter \"#{param}\"")
|
275
|
+
end
|
276
|
+
}
|
271
277
|
end
|
272
|
-
#api_func=params[:method]
|
273
|
-
#params=params[:params]
|
274
278
|
server.connection.raw_api(api_func, args)
|
275
279
|
end
|
276
280
|
|
data/libs/zabcon_core.rb
CHANGED
@@ -20,8 +20,8 @@
|
|
20
20
|
|
21
21
|
##########################################
|
22
22
|
# Subversion information
|
23
|
-
# $Id: zabcon_core.rb
|
24
|
-
# $Revision:
|
23
|
+
# $Id: zabcon_core.rb 365 2011-12-22 04:26:54Z nelsonab $
|
24
|
+
# $Revision: 365 $
|
25
25
|
##########################################
|
26
26
|
|
27
27
|
#require 'libs/utility_items'
|
@@ -29,6 +29,7 @@ require 'libs/revision'
|
|
29
29
|
require 'parseconfig'
|
30
30
|
require 'ostruct'
|
31
31
|
require 'rexml/document'
|
32
|
+
require 'yaml'
|
32
33
|
require 'libs/zabbix_server'
|
33
34
|
require 'libs/printer'
|
34
35
|
require 'zbxapi/zdebug'
|
@@ -185,6 +186,7 @@ class ZabconCore
|
|
185
186
|
end
|
186
187
|
|
187
188
|
return if load_path.nil? || load_path.empty?
|
189
|
+
env["load_count"]||=0
|
188
190
|
|
189
191
|
load_path.each { |f|
|
190
192
|
env["load_count"]+=1
|
@@ -227,27 +229,30 @@ class ZabconCore
|
|
227
229
|
|
228
230
|
end # while
|
229
231
|
end #end catch
|
230
|
-
rescue CommandList::InvalidCommand
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
puts e.message
|
235
|
-
retry
|
236
|
-
rescue Command::ParameterError => e
|
237
|
-
puts e.message
|
238
|
-
retry
|
239
|
-
rescue ZabbixServer::ConnectionProblem => e
|
232
|
+
rescue CommandList::InvalidCommand, Command::NonFatalError,
|
233
|
+
Command::ParameterError, ZabbixServer::ConnectionProblem,
|
234
|
+
ZbxAPI_ExceptionVersion, ZbxAPI_ExceptionBadAuth,
|
235
|
+
ZbxAPI_ParameterError, Command::LoginRequired => e
|
240
236
|
puts e.message
|
241
237
|
retry
|
238
|
+
#rescue Command::NonFatalError => e
|
239
|
+
# puts e.message
|
240
|
+
# retry
|
241
|
+
#rescue Command::ParameterError => e
|
242
|
+
# puts e.message
|
243
|
+
# retry
|
244
|
+
#rescue ZabbixServer::ConnectionProblem => e
|
245
|
+
# puts e.message
|
246
|
+
# retry
|
242
247
|
rescue ParseError => e #catch the base exception class
|
243
248
|
e.show_message
|
244
249
|
retry if e.retry?
|
245
|
-
rescue ZbxAPI_ExceptionVersion => e
|
246
|
-
|
247
|
-
|
248
|
-
rescue ZbxAPI_ExceptionBadAuth => e
|
249
|
-
|
250
|
-
|
250
|
+
#rescue ZbxAPI_ExceptionVersion => e
|
251
|
+
# puts e
|
252
|
+
# retry # We will allow for graceful recover from Version exceptions
|
253
|
+
#rescue ZbxAPI_ExceptionBadAuth => e
|
254
|
+
# puts e.message
|
255
|
+
# retry
|
251
256
|
rescue ZbxAPI_ExceptionLoginPermission
|
252
257
|
puts "No login permissions"
|
253
258
|
retry
|
data/revision_information
CHANGED
@@ -27,3 +27,10 @@
|
|
27
27
|
which is determined by the config file option "session_file". When starting
|
28
28
|
this file is interrogated if an auth key is found, Zabcon will try to use it.
|
29
29
|
If the auth key does not work it continues with the normal startup sequence.
|
30
|
+
* Configured auth cache file to have permissions of 0600
|
31
|
+
* Fixed crash with ZBXAPI_ParameterError
|
32
|
+
* Fixed command line override for auth
|
33
|
+
|
34
|
+
*** 12/21/11 nelsonab
|
35
|
+
* Fixed Bug #89
|
36
|
+
* Fixed Bug #88
|
data/zabcon.conf.default
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
server=http://localhost
|
2
|
-
username=
|
2
|
+
username=Admin
|
3
3
|
password=zabbix
|
4
4
|
|
5
5
|
# The following is a list of user editable config file options, the following
|
@@ -61,9 +61,9 @@ password=zabbix
|
|
61
61
|
#show_load=all
|
62
62
|
|
63
63
|
#dir1=custom_commands
|
64
|
-
#If custom_commands is a directory in /usr/local/zabcon all files
|
64
|
+
#If custom_commands is a directory in /usr/local/zabcon all files in that
|
65
65
|
#directory, except (dot) files, will be loaded because the base search
|
66
|
-
#path is /usr/
|
66
|
+
#path is /usr/local/zabcon
|
67
67
|
|
68
68
|
#dir2=~/zabcon_commands
|
69
69
|
#file1=~/my_zabcon_commands.rb
|
data/zabcon.rb
CHANGED
@@ -20,8 +20,8 @@
|
|
20
20
|
|
21
21
|
##########################################
|
22
22
|
# Subversion information
|
23
|
-
# $Id: zabcon.rb
|
24
|
-
# $Revision:
|
23
|
+
# $Id: zabcon.rb 361 2011-12-19 00:21:52Z richlv $
|
24
|
+
# $Revision: 361 $
|
25
25
|
##########################################
|
26
26
|
|
27
27
|
#setup our search path or libraries
|
@@ -148,10 +148,10 @@ class ZabconApp
|
|
148
148
|
@cmd_opts.debug=level
|
149
149
|
end
|
150
150
|
opts.on("-s","--session PATH","Path to the file to store session information.") do |session|
|
151
|
-
@
|
151
|
+
@cmd_opts.session_file=session
|
152
152
|
end
|
153
153
|
opts.on("--no-session","Disable checking of the session file on startup") do
|
154
|
-
@
|
154
|
+
@cmd_opts.session_file=""
|
155
155
|
end
|
156
156
|
opts.on("-e", "--[no-]echo", "Enable startup echo. Default is on ","for interactive") do |echo|
|
157
157
|
@cmd_opts.echo=echo
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zabcon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 707
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 366
|
10
|
+
version: 0.0.366
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- A. Nelson
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: .
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-12-
|
18
|
+
date: 2011-12-21 00:00:00 -05:00
|
19
19
|
default_executable: zabcon
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|