sensu-plugins-edgelab 1.14.0 → 1.14.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/check-apt-expired-keys.rb +2 -1
- data/bin/check-cassandra-nodes.rb +2 -2
- data/bin/check-logstash-pipeline.rb +1 -1
- data/bin/check-nomad-jobs.rb +7 -8
- data/bin/handler-multi-hipchat.rb +22 -21
- data/bin/metrics-aws-rds.rb +2 -5
- data/bin/metrics-cassandra-basic.rb +1 -1
- metadata +16 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cac9db6c64318afdd3af552c867128d4e220b304afa9ce52e315f17c5f091b1e
|
4
|
+
data.tar.gz: d84928b4ccde348c7da971fe0638c18859b6f4d9ee8aeaa75579f47daf7d212e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8eb1971adf0e30ac0aa670d6353ffe3b03459d729271070737147ccae8cabdb50719547235acb50f8deeabbfebfbea2ef7d2942d28a4376b6acc26294e379dcd
|
7
|
+
data.tar.gz: 2b7ded62142c3443fef65d8f0b5b04a6ff003a2626c4e031c4961842bd6bf3ff47d00f924de3af9c1e112f691a58e9700eeb542b897187ba5ffeafca52079670
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#! /usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
|
+
|
3
4
|
#
|
4
5
|
# check-apt-expired-keys
|
5
6
|
#
|
@@ -39,7 +40,7 @@ class APTKey < Sensu::Plugin::Check::CLI
|
|
39
40
|
|
40
41
|
expired = expired_keys
|
41
42
|
|
42
|
-
if expired.count
|
43
|
+
if expired.count.positive?
|
43
44
|
if expired.count == 1
|
44
45
|
verb = 'is'
|
45
46
|
noun = 'key'
|
@@ -108,9 +108,9 @@ class CheckCassandraNode < Sensu::Plugin::Check::CLI
|
|
108
108
|
ok_nodes << "#{address} is normal (#{node[:status]}#{node[:state]})"
|
109
109
|
end
|
110
110
|
|
111
|
-
if error_nodes.count
|
111
|
+
if error_nodes.count.positive?
|
112
112
|
criticial error_nodes.join(', ')
|
113
|
-
elsif warning_nodes.
|
113
|
+
elsif warning_nodes.positive?
|
114
114
|
warning warning_nodes.join(', ')
|
115
115
|
else
|
116
116
|
ok ok_nodes.join(', ')
|
@@ -123,7 +123,7 @@ class CheckLogstashPipeline < Sensu::Plugin::Check::CLI
|
|
123
123
|
tries += 1
|
124
124
|
response = RestClient.post(url, body)
|
125
125
|
found = JSON.parse(response)['responses'][0]['hits']['total']
|
126
|
-
break if found
|
126
|
+
break if found.positive?
|
127
127
|
end
|
128
128
|
|
129
129
|
duration = Time.now.to_i - sent_at.to_i
|
data/bin/check-nomad-jobs.rb
CHANGED
@@ -74,7 +74,7 @@ class CheckNomadAllocations < Sensu::Plugin::Check::CLI
|
|
74
74
|
reasons << "Constraint #{constraint} filtered #{count} nodes"
|
75
75
|
end
|
76
76
|
|
77
|
-
if metrics['NodesExhausted']
|
77
|
+
if (metrics['NodesExhausted']).positive?
|
78
78
|
reasons << "Resources exhausted on #{metrics['NodesExhausted']} nodes"
|
79
79
|
end
|
80
80
|
|
@@ -110,13 +110,12 @@ class CheckNomadAllocations < Sensu::Plugin::Check::CLI
|
|
110
110
|
end
|
111
111
|
|
112
112
|
# System jobs don't have blocked evaluation, only one evaluation per job.
|
113
|
-
|
114
|
-
failure_reasons = placement_failures_reasons last_failed
|
113
|
+
return unless (job['Type'] == 'system' || blocked) && !last_failed.nil?
|
115
114
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
115
|
+
failure_reasons = placement_failures_reasons last_failed
|
116
|
+
return unless failure_reasons.any?
|
117
|
+
|
118
|
+
failed << "#{job['ID']}: Placemement failure [" + failure_reasons.join(' / ') + ']'
|
120
119
|
end
|
121
120
|
|
122
121
|
# Check for service/system job if he is running.
|
@@ -180,7 +179,7 @@ class CheckNomadAllocations < Sensu::Plugin::Check::CLI
|
|
180
179
|
now = Time.new.to_i
|
181
180
|
|
182
181
|
allocations.each do |alloc|
|
183
|
-
if %w
|
182
|
+
if %w[running pending].include? alloc['ClientStatus']
|
184
183
|
next if alloc['TaskStates'].nil?
|
185
184
|
|
186
185
|
alloc['TaskStates'].each do |_, state|
|
@@ -51,10 +51,10 @@ class HipChatNotif < Sensu::Handler
|
|
51
51
|
room = @event['client']['hipchat_room'] || @event['check']['hipchat_room'] || settings[json_config]['room']
|
52
52
|
|
53
53
|
mentions = @event['check']['hipchat_mentions'] || []
|
54
|
-
|
54
|
+
unless mentions.is_a?(Array)
|
55
55
|
mentions = [mentions]
|
56
56
|
end
|
57
|
-
mentions = mentions.map{ |e| String(e) }
|
57
|
+
mentions = mentions.map { |e| String(e) }
|
58
58
|
|
59
59
|
puts "Will mentions: #{mentions}"
|
60
60
|
puts "Will send to room: #{room}"
|
@@ -68,7 +68,7 @@ class HipChatNotif < Sensu::Handler
|
|
68
68
|
if @event['check']['playbook']
|
69
69
|
begin
|
70
70
|
uri = URI.parse(@event['check']['playbook'])
|
71
|
-
playbook << if %w
|
71
|
+
playbook << if %w[http https].include?(uri.scheme)
|
72
72
|
" [<a href='#{@event['check']['playbook']}'>Playbook</a>]"
|
73
73
|
else
|
74
74
|
" Playbook: #{@event['check']['playbook']}"
|
@@ -78,10 +78,10 @@ class HipChatNotif < Sensu::Handler
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
if message_template && File.readable?(message_template)
|
82
|
-
|
83
|
-
|
84
|
-
|
81
|
+
template = if message_template && File.readable?(message_template)
|
82
|
+
File.read(message_template)
|
83
|
+
else
|
84
|
+
'<%=
|
85
85
|
[
|
86
86
|
@event["action"].eql?("resolve") ? "RESOLVED" : "ALERT",
|
87
87
|
" - [#{event_name}] - ",
|
@@ -89,8 +89,9 @@ class HipChatNotif < Sensu::Handler
|
|
89
89
|
playbook,
|
90
90
|
"."
|
91
91
|
].join
|
92
|
-
%>'
|
93
|
-
|
92
|
+
%>'
|
93
|
+
end
|
94
|
+
|
94
95
|
eruby = ERB.new(template)
|
95
96
|
message = eruby.result(binding)
|
96
97
|
|
@@ -105,9 +106,9 @@ class HipChatNotif < Sensu::Handler
|
|
105
106
|
notify = true
|
106
107
|
end
|
107
108
|
|
108
|
-
mentions = mentions.map{|user| "@#{user}"}.join(
|
109
|
+
mentions = mentions.map { |user| "@#{user}" }.join(', ')
|
109
110
|
|
110
|
-
if mentions
|
111
|
+
if mentions && message_format != 'html' && !@event['action'].eql?('resolve')
|
111
112
|
# Add the mention only if the action is not resolved.
|
112
113
|
message = "#{message} #{mentions}"
|
113
114
|
end
|
@@ -123,17 +124,17 @@ class HipChatNotif < Sensu::Handler
|
|
123
124
|
puts "Timed out while attempting to message #{room}"
|
124
125
|
end
|
125
126
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
rescue Timeout::Error
|
135
|
-
puts "Timed out while attempting to send mentions to #{room}"
|
127
|
+
return unless message_format == 'html' && mentions && !@event['action'].eql?('resolve')
|
128
|
+
|
129
|
+
# HTML messages won't notify when using @mentions.
|
130
|
+
begin
|
131
|
+
Timeout.timeout(5) do
|
132
|
+
hipchatmsg[room].send(from, mentions,
|
133
|
+
color: color,
|
134
|
+
message_format: 'text')
|
136
135
|
end
|
136
|
+
rescue Timeout::Error
|
137
|
+
puts "Timed out while attempting to send mentions to #{room}"
|
137
138
|
end
|
138
139
|
end
|
139
140
|
end
|
data/bin/metrics-aws-rds.rb
CHANGED
@@ -129,11 +129,8 @@ class RDSMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
129
129
|
r = cloud_watch_metric key, rdsname
|
130
130
|
result[config[:scheme] + '.' + rdsname + '.' + key] = r[:datapoints][0] unless r[:datapoints][0].nil?
|
131
131
|
end
|
132
|
-
|
133
|
-
|
134
|
-
output key.to_s, value.average, value[:timestamp].to_i
|
135
|
-
end
|
132
|
+
result.each do |key, value|
|
133
|
+
output key.to_s, value.average, value[:timestamp].to_i
|
136
134
|
end
|
137
|
-
exit
|
138
135
|
end
|
139
136
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-edgelab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.14.
|
4
|
+
version: 1.14.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Edgelab
|
@@ -80,20 +80,6 @@ dependencies:
|
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 3.0.0
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: json
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - '='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 1.8.6
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - '='
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 1.8.6
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: redis
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +114,14 @@ dependencies:
|
|
128
114
|
requirements:
|
129
115
|
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
117
|
+
version: '2.0'
|
132
118
|
type: :runtime
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
122
|
- - "~>"
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
124
|
+
version: '2.0'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: bundler
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,32 +156,32 @@ dependencies:
|
|
170
156
|
requirements:
|
171
157
|
- - "~>"
|
172
158
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.
|
159
|
+
version: 0.49.0
|
174
160
|
type: :development
|
175
161
|
prerelease: false
|
176
162
|
version_requirements: !ruby/object:Gem::Requirement
|
177
163
|
requirements:
|
178
164
|
- - "~>"
|
179
165
|
- !ruby/object:Gem::Version
|
180
|
-
version: 0.
|
166
|
+
version: 0.49.0
|
181
167
|
description: Sensu plugins developed by Edgelab
|
182
168
|
email:
|
183
169
|
executables:
|
184
|
-
- check-
|
185
|
-
-
|
170
|
+
- check-apt-expired-keys.rb
|
171
|
+
- check-cassandra-nodes.rb
|
186
172
|
- check-consul-services.rb
|
173
|
+
- check-logstash-pipeline.rb
|
187
174
|
- check-nomad-jobs.rb
|
188
|
-
-
|
189
|
-
- check-apt-expired-keys.rb
|
190
|
-
- metrics-swarm-cluster.rb
|
175
|
+
- check-nomad-leader.rb
|
191
176
|
- check-swarm-cluster.rb
|
192
|
-
- metrics-cassandra-basic.rb
|
193
|
-
- metrics-redis-key-pattern.rb
|
194
|
-
- check-cassandra-nodes.rb
|
195
|
-
- metrics-aws-elb.rb
|
196
177
|
- handler-multi-hipchat.rb
|
197
|
-
- check-logstash-pipeline.rb
|
198
178
|
- metrics-aws-asg.rb
|
179
|
+
- metrics-aws-elb.rb
|
180
|
+
- metrics-aws-rds.rb
|
181
|
+
- metrics-cassandra-basic.rb
|
182
|
+
- metrics-es-indices.rb
|
183
|
+
- metrics-redis-key-pattern.rb
|
184
|
+
- metrics-swarm-cluster.rb
|
199
185
|
extensions: []
|
200
186
|
extra_rdoc_files: []
|
201
187
|
files:
|
@@ -233,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
219
|
version: '0'
|
234
220
|
requirements: []
|
235
221
|
rubyforge_project:
|
236
|
-
rubygems_version: 2.6
|
222
|
+
rubygems_version: 2.7.6
|
237
223
|
signing_key:
|
238
224
|
specification_version: 4
|
239
225
|
summary: Contains Edgelab plugins for Sensu
|