sensu-plugins-kafka 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c93da52d25828077e631c7df8689db514736130
4
- data.tar.gz: 2e25ea38deb92b0e572572d46574d801115b126e
3
+ metadata.gz: 814e07a1f689f1395bbfec4be50c21d21dc8fdd9
4
+ data.tar.gz: 67c167b2a761d5ec26328889d3f7265ca5eb04c1
5
5
  SHA512:
6
- metadata.gz: 4d6e510d8279861a0d4caa747ea6c7c831fdf46616b3f4eddc46e379d1a6a23f54f0139c3f086a6efea7188aaa1051a73e156e594310f9c33141837db90276c3
7
- data.tar.gz: 5cc8c7555331c040b82462a2dfff5ee0e93bdcbc95a6a5693b963fca9c453c9b928a06c30268c56997e5ba6d41ec2cf6d1ed78aeeae0f04e6254c3149b90fc11
6
+ metadata.gz: e48d74364f25dd211615a314a2c1190b757229d80417943364a40022fb865dd0c677718f5648af449eb0b05f0df3531b94efd7c6499e810894df10efd2422f47
7
+ data.tar.gz: 7ca2f1ff7b776619702f2e5728fd3a34a0aa018df8ecd098a82fd124accea6cba11bd9bee42a3f38e0f460c5e3e3f10c89e71da517574f2add2d2940c1e8822c
data/CHANGELOG.md CHANGED
@@ -10,6 +10,11 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
10
10
  ### Fixed
11
11
  ### Changed
12
12
 
13
+ ## [0.11.0] - 2017-02-17
14
+
15
+ ### Added
16
+ - check-consumer-lag: threshold per partition
17
+
13
18
  ## [0.10.0] - 2017-02-16
14
19
 
15
20
  ### Added
@@ -132,6 +132,7 @@ class ConsumerLagCheck < Sensu::Plugin::Check::CLI
132
132
  min_lag = lags.map(&:values).flatten.min
133
133
  min_topics = lags.select { |a| a.key(min_lag) }.map(&:keys).flatten
134
134
 
135
+ # Global
135
136
  [:over, :under].each do |over_or_under|
136
137
  [:critical, :warning].each do |severity|
137
138
  threshold = config[:"#{severity}_#{over_or_under}"]
@@ -152,6 +153,32 @@ class ConsumerLagCheck < Sensu::Plugin::Check::CLI
152
153
  end
153
154
  end
154
155
 
156
+ # Per partition
157
+ [:over, :under].each do |over_or_under|
158
+ [:critical, :warning].each do |severity|
159
+ threshold = config[:"#{severity}_#{over_or_under}"]
160
+
161
+ next unless threshold
162
+
163
+ consumers.each do |k, v|
164
+ v.each do |partition|
165
+ case over_or_under
166
+ when :over
167
+ if partition[:lag].to_f > (threshold.to_f * 1.33 / v.size)
168
+ msg = "Topics `#{k}` partition #{partition[:partition]} lag: #{partition[:lag]} (>= #{threshold.to_f * 1.33 / v.size})"
169
+ send severity, msg
170
+ end
171
+ when :under
172
+ if min_lag < (threshold.to_f / v.size)
173
+ msg = "Topics `#{k}` partition #{partition[:partition]} lag: #{partition[:lag]} (<= #{threshold.to_f / v.size})"
174
+ send severity, msg
175
+ end
176
+ end
177
+ end
178
+ end
179
+ end
180
+ end
181
+
155
182
  ok "Group `#{config[:group]}`'s lag is ok (#{min_lag}/#{max_lag})"
156
183
 
157
184
  rescue => e
@@ -5,7 +5,7 @@ module SensuPluginsKafka
5
5
  # This defines the version of the gem
6
6
  module Version
7
7
  MAJOR = 0
8
- MINOR = 10
8
+ MINOR = 11
9
9
  PATCH = 0
10
10
 
11
11
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-kafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - certs/sensu-plugins.pem
12
- date: 2017-02-16 00:00:00.000000000 Z
12
+ date: 2017-02-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: poseidon