cloudstack-nagios 0.17.7 → 0.18.0

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.
@@ -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: []