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.
- checksums.yaml +7 -0
- data/.ruby-version +1 -1
- data/Gemfile.lock +10 -8
- data/cloudstack-nagios.gemspec +2 -2
- data/lib/cloudstack-nagios/base.rb +3 -15
- data/lib/cloudstack-nagios/commands/check.rb +6 -5
- data/lib/cloudstack-nagios/helper.rb +6 -2
- data/lib/cloudstack-nagios/version.rb +1 -1
- metadata +28 -50
checksums.yaml
ADDED
@@ -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
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0-p247
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cloudstack-nagios (0.
|
5
|
-
cloudstack_client (~>
|
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.
|
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.
|
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 (
|
22
|
+
net-ssh (3.0.1)
|
21
23
|
rake (10.3.2)
|
22
|
-
rdoc (4.
|
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.
|
30
|
+
term-ansicolor (1.3.2)
|
29
31
|
tins (~> 1.0)
|
30
32
|
thor (0.19.1)
|
31
|
-
tins (1.
|
33
|
+
tins (1.6.0)
|
32
34
|
|
33
35
|
PLATFORMS
|
34
36
|
ruby
|
data/cloudstack-nagios.gemspec
CHANGED
@@ -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 = '>=
|
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', '~>
|
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::
|
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.
|
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
|
-
|
106
|
-
|
107
|
-
|
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 =
|
42
|
-
|
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
|
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.
|
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-
|
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:
|
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.
|
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:
|
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:
|
190
|
+
rubygems_version: 2.0.3
|
213
191
|
signing_key:
|
214
|
-
specification_version:
|
192
|
+
specification_version: 4
|
215
193
|
summary: cloudstack-nagios CloudStack monitoring tools for nagios
|
216
194
|
test_files: []
|