cloudstack-nagios 0.17.7 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4764961945bdf102aadc9cbd3e860e994c50b8ea
4
+ data.tar.gz: 18567b2c4eb69f3ccd54f75844565bad402ee032
5
+ SHA512:
6
+ metadata.gz: b0e8256631685fa2866ae53457b6670d9dc00d0f9f16f567f7b88ed2d1a5e9601e701b3977b0e825c67c70ee9409eb3bd72c30ccfbfcc56e24e18d937cf56a78
7
+ data.tar.gz: 1d51f87dc081d47a6a1b984f38f81fb3c47ef4d39727be096c542e066c5e426a233cdac1445d52d6f823651afc99117260514e9c461e28210341871aa8046234
@@ -1 +1 @@
1
- 1.9.3-p392
1
+ 2.0.0-p247
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cloudstack-nagios (0.17.3)
5
- cloudstack_client (~> 0.7, >= 0.7.1)
4
+ cloudstack-nagios (0.18.0)
5
+ cloudstack_client (~> 1.0.4)
6
6
  erubis (~> 2.7.0)
7
7
  highline (~> 1.6.20)
8
8
  sshkit (~> 1.3.0)
@@ -11,24 +11,26 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- cloudstack_client (0.7.1)
14
+ cloudstack_client (1.0.4)
15
+ msgpack (~> 0.5.11)
15
16
  erubis (2.7.0)
16
17
  highline (1.6.21)
17
- json (1.8.1)
18
+ json (1.8.3)
19
+ msgpack (0.5.12)
18
20
  net-scp (1.2.1)
19
21
  net-ssh (>= 2.6.5)
20
- net-ssh (2.9.1)
22
+ net-ssh (3.0.1)
21
23
  rake (10.3.2)
22
- rdoc (4.1.2)
24
+ rdoc (4.2.0)
23
25
  json (~> 1.4)
24
26
  sshkit (1.3.0)
25
27
  net-scp (>= 1.1.2)
26
28
  net-ssh
27
29
  term-ansicolor
28
- term-ansicolor (1.3.0)
30
+ term-ansicolor (1.3.2)
29
31
  tins (~> 1.0)
30
32
  thor (0.19.1)
31
- tins (1.3.3)
33
+ tins (1.6.0)
32
34
 
33
35
  PLATFORMS
34
36
  ruby
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.homepage = "https://github.com/swisstxt/cloudstack-nagios"
14
14
  gem.license = 'MIT'
15
15
 
16
- gem.required_ruby_version = '>= 1.9.3'
16
+ gem.required_ruby_version = '>= 2.0'
17
17
  gem.files = `git ls-files`.split($/)
18
18
  gem.executables = ['cs-nagios']
19
19
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
@@ -23,7 +23,7 @@ Gem::Specification.new do |gem|
23
23
  gem.add_development_dependency('rdoc')
24
24
  gem.add_development_dependency('rake', '~> 10.3.1')
25
25
 
26
- gem.add_dependency('cloudstack_client', '~> 0.7', '>= 0.7.1')
26
+ gem.add_dependency('cloudstack_client', '~> 1.0.4')
27
27
  gem.add_dependency('thor', '~> 0.19.1')
28
28
  gem.add_dependency('erubis', '~> 2.7.0')
29
29
  gem.add_dependency('sshkit', '~> 1.3.0')
@@ -23,12 +23,13 @@ module CloudstackNagios
23
23
  no_commands do
24
24
  def client(opts = {})
25
25
  @config ||= load_configuration
26
- @client ||= CloudstackClient::Connection.new(
26
+ @client ||= CloudstackClient::Client.new(
27
27
  @config[:url],
28
28
  @config[:api_key],
29
29
  @config[:secret_key],
30
- opts.merge({debug: options[:debug]})
31
30
  )
31
+ @client.debug = true if options[:debug]
32
+ @client
32
33
  end
33
34
 
34
35
  def load_configuration(config_file = options[:config], env = options[:environment])
@@ -53,19 +54,6 @@ module CloudstackNagios
53
54
  config
54
55
  end
55
56
 
56
- def find_project(project_name = options[:project])
57
- return nil unless project_name
58
- unless project = client.get_project(project_name)
59
- say "Project '#{options[:project]}' not found", :red
60
- exit 1
61
- end
62
- project
63
- end
64
-
65
- def filter_by(objects, tag_name, tag)
66
- objects.select {|r| r[tag_name].downcase == tag.downcase}
67
- end
68
-
69
57
  def sshoptions(ssh_key)
70
58
  {
71
59
  timeout: 5,
@@ -76,7 +76,7 @@ class Check < CloudstackNagios::Base
76
76
  default: 10,
77
77
  aliases: '-c'
78
78
  def async_jobs
79
- jobs = client.send_request('command' => 'listAsyncJobs', 'listall' => 'true')['asyncjobs']
79
+ jobs = client.list_async_jobs(listall: true)
80
80
  outstanding_jobs = jobs.select {|job| job['jobstatus'] == 0 }
81
81
  if outstanding_jobs.size < options[:warning]
82
82
  code = 0
@@ -101,10 +101,11 @@ class Check < CloudstackNagios::Base
101
101
  default: 24,
102
102
  aliases: '-c'
103
103
  def snapshots
104
- snapshots = []
105
- snapshots << client.send_request('command' => 'listSnapshots', 'projectid' => '-1')['snapshot']
106
- snapshots << client.send_request('command' => 'listSnapshots')['snapshot']
107
- snapshots.compact!.flatten!
104
+ snapshots = client.list_snapshots(listall: true)
105
+ client.list_projects(listall: true).each do |p|
106
+ snapshots = snapshots.concat(client.list_snapshots(listall: true, project_id: p['id']))
107
+ end
108
+
108
109
  not_backed_up = snapshots.select{|s| s['state'] != 'BackedUp' }
109
110
 
110
111
  warnings = []
@@ -38,8 +38,12 @@ module CloudstackNagios
38
38
  end
39
39
 
40
40
  def check_data(total, usage, warning, critical)
41
- usage_percent = (100.0 / total.to_f * usage.to_f) || 0.0
42
- code = 3
41
+ usage_percent = 100.0 / total.to_f * usage.to_f
42
+
43
+ if usage_percent.nan?
44
+ usage_percent = 0.0
45
+ end
46
+
43
47
  if usage_percent < warning
44
48
  code = 0
45
49
  elsif usage_percent < critical
@@ -1,3 +1,3 @@
1
1
  module CloudstackNagios
2
- VERSION = "0.17.7"
2
+ VERSION = "0.18.0"
3
3
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudstack-nagios
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.7
5
- prerelease:
4
+ version: 0.18.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Nik Wolfgramm
@@ -10,124 +9,104 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2015-01-19 00:00:00.000000000 Z
12
+ date: 2015-10-15 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rdoc
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ! '>='
18
+ - - ">="
21
19
  - !ruby/object:Gem::Version
22
20
  version: '0'
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - ">="
29
26
  - !ruby/object:Gem::Version
30
27
  version: '0'
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: rake
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ~>
32
+ - - "~>"
37
33
  - !ruby/object:Gem::Version
38
34
  version: 10.3.1
39
35
  type: :development
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ~>
39
+ - - "~>"
45
40
  - !ruby/object:Gem::Version
46
41
  version: 10.3.1
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: cloudstack_client
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ~>
46
+ - - "~>"
53
47
  - !ruby/object:Gem::Version
54
- version: '0.7'
55
- - - ! '>='
56
- - !ruby/object:Gem::Version
57
- version: 0.7.1
48
+ version: 1.0.4
58
49
  type: :runtime
59
50
  prerelease: false
60
51
  version_requirements: !ruby/object:Gem::Requirement
61
- none: false
62
52
  requirements:
63
- - - ~>
64
- - !ruby/object:Gem::Version
65
- version: '0.7'
66
- - - ! '>='
53
+ - - "~>"
67
54
  - !ruby/object:Gem::Version
68
- version: 0.7.1
55
+ version: 1.0.4
69
56
  - !ruby/object:Gem::Dependency
70
57
  name: thor
71
58
  requirement: !ruby/object:Gem::Requirement
72
- none: false
73
59
  requirements:
74
- - - ~>
60
+ - - "~>"
75
61
  - !ruby/object:Gem::Version
76
62
  version: 0.19.1
77
63
  type: :runtime
78
64
  prerelease: false
79
65
  version_requirements: !ruby/object:Gem::Requirement
80
- none: false
81
66
  requirements:
82
- - - ~>
67
+ - - "~>"
83
68
  - !ruby/object:Gem::Version
84
69
  version: 0.19.1
85
70
  - !ruby/object:Gem::Dependency
86
71
  name: erubis
87
72
  requirement: !ruby/object:Gem::Requirement
88
- none: false
89
73
  requirements:
90
- - - ~>
74
+ - - "~>"
91
75
  - !ruby/object:Gem::Version
92
76
  version: 2.7.0
93
77
  type: :runtime
94
78
  prerelease: false
95
79
  version_requirements: !ruby/object:Gem::Requirement
96
- none: false
97
80
  requirements:
98
- - - ~>
81
+ - - "~>"
99
82
  - !ruby/object:Gem::Version
100
83
  version: 2.7.0
101
84
  - !ruby/object:Gem::Dependency
102
85
  name: sshkit
103
86
  requirement: !ruby/object:Gem::Requirement
104
- none: false
105
87
  requirements:
106
- - - ~>
88
+ - - "~>"
107
89
  - !ruby/object:Gem::Version
108
90
  version: 1.3.0
109
91
  type: :runtime
110
92
  prerelease: false
111
93
  version_requirements: !ruby/object:Gem::Requirement
112
- none: false
113
94
  requirements:
114
- - - ~>
95
+ - - "~>"
115
96
  - !ruby/object:Gem::Version
116
97
  version: 1.3.0
117
98
  - !ruby/object:Gem::Dependency
118
99
  name: highline
119
100
  requirement: !ruby/object:Gem::Requirement
120
- none: false
121
101
  requirements:
122
- - - ~>
102
+ - - "~>"
123
103
  - !ruby/object:Gem::Version
124
104
  version: 1.6.20
125
105
  type: :runtime
126
106
  prerelease: false
127
107
  version_requirements: !ruby/object:Gem::Requirement
128
- none: false
129
108
  requirements:
130
- - - ~>
109
+ - - "~>"
131
110
  - !ruby/object:Gem::Version
132
111
  version: 1.6.20
133
112
  description: cloudstack-nagios generates nagios configuration and checks for monitoring
@@ -139,8 +118,8 @@ executables:
139
118
  extensions: []
140
119
  extra_rdoc_files: []
141
120
  files:
142
- - .gitignore
143
- - .ruby-version
121
+ - ".gitignore"
122
+ - ".ruby-version"
144
123
  - Gemfile
145
124
  - Gemfile.lock
146
125
  - LICENSE.txt
@@ -189,28 +168,27 @@ files:
189
168
  homepage: https://github.com/swisstxt/cloudstack-nagios
190
169
  licenses:
191
170
  - MIT
171
+ metadata: {}
192
172
  post_install_message:
193
173
  rdoc_options:
194
- - --line-numbers
195
- - --inline-source
174
+ - "--line-numbers"
175
+ - "--inline-source"
196
176
  require_paths:
197
177
  - lib
198
178
  required_ruby_version: !ruby/object:Gem::Requirement
199
- none: false
200
179
  requirements:
201
- - - ! '>='
180
+ - - ">="
202
181
  - !ruby/object:Gem::Version
203
- version: 1.9.3
182
+ version: '2.0'
204
183
  required_rubygems_version: !ruby/object:Gem::Requirement
205
- none: false
206
184
  requirements:
207
- - - ! '>='
185
+ - - ">="
208
186
  - !ruby/object:Gem::Version
209
187
  version: '0'
210
188
  requirements: []
211
189
  rubyforge_project:
212
- rubygems_version: 1.8.23
190
+ rubygems_version: 2.0.3
213
191
  signing_key:
214
- specification_version: 3
192
+ specification_version: 4
215
193
  summary: cloudstack-nagios CloudStack monitoring tools for nagios
216
194
  test_files: []