sensu-plugins-kafka 0.8.0 → 0.8.1

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: 436d7165e1ea6b4ac7efe7ee7c4456619cb0d7bd
4
- data.tar.gz: 1b33367a5fb5e418031ab76b3f1f571c660d4e69
3
+ metadata.gz: 238d5d13127c16a53fd30c5a4dae4a05471547cf
4
+ data.tar.gz: 0d81d88567c829276fb5a9a11db4c9eae162f196
5
5
  SHA512:
6
- metadata.gz: e0386a39236c73b7b192bd287e1cd00c7a02da9ef8af2e79f26315d49a3dc005e87ddc77f66e19bbc47fb0f96b519963001fa574e496758ef3df92a35ab8825c
7
- data.tar.gz: b500208baf3951334ef8a055feb277cb27aa261f7f1ea0b21f4618ba86ba5ad0287abad5b462f00ad61c963c22defb08d7278ab15e2d28c78b2519b21c6e5ea6
6
+ metadata.gz: 41831c5fc35254acbf40b9cee04c8bf0735a9be6062f2a94f94b9552d8f85cd6fcfaa5356147ac369d7452965d7c1cba3c9a9dc2ea9478ee083a837f16cccc9c
7
+ data.tar.gz: 2eb96ee56a1888894765e8d28614bd185919a1542abd5ae028092506afc86b018cca1909041d3ac28dfbfd7a44d486f6563125f2a4d6b15878361e507cf11ae6
data/CHANGELOG.md CHANGED
@@ -10,7 +10,12 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
10
10
  ### Fixed
11
11
  ### Changed
12
12
 
13
- ## [Unreleased]
13
+ ## [0.8.1]
14
+
15
+ ### Fixed
16
+ - check-consumer-lag: remove celluloid (temporary), fix data structure, fix partition_owner function
17
+
18
+ ## [0.8.0]
14
19
 
15
20
  ### Breaking Changes
16
21
  - Refactoring check-consumer-lag to remove shell/jvm execution
@@ -27,17 +27,10 @@
27
27
 
28
28
  require 'sensu-plugin/check/cli'
29
29
 
30
- require 'celluloid-io'
31
30
  require 'json'
32
31
  require 'poseidon'
33
32
  require 'zookeeper'
34
33
 
35
- module Poseidon
36
- class Connection
37
- TCPSocket = Celluloid::IO::TCPSocket
38
- end
39
- end
40
-
41
34
  class ConsumerLagCheck < Sensu::Plugin::Check::CLI
42
35
  option :group,
43
36
  description: 'Consumer group',
@@ -89,8 +82,8 @@ class ConsumerLagCheck < Sensu::Plugin::Check::CLI
89
82
  zk.get(path: "/consumers/#{group}/offsets/#{topic}/#{partition}")[:data].to_i
90
83
  end
91
84
 
92
- def partition_owner(zk, group, partition)
93
- zk.get(path: "/consumers/#{group}/offsets/#{owners}/#{partition}")[:data]
85
+ def partition_owner(zk, group, topic, partition)
86
+ zk.get(path: "/consumers/#{group}/owners/#{topic}/#{partition}")[:data]
94
87
  end
95
88
 
96
89
  def run
@@ -103,10 +96,10 @@ class ConsumerLagCheck < Sensu::Plugin::Check::CLI
103
96
 
104
97
  consumers = {}
105
98
  topics.each do |topic|
106
- consumers[topic] = {}
99
+ consumers[topic] = []
107
100
 
108
101
  topics_partitions(z, topic).each do |partition|
109
- owner = partition_owner(z, group, partition)
102
+ owner = partition_owner(z, group, topic, partition)
110
103
 
111
104
  leader = leader_broker(z, topic, partition)
112
105
  consumer = Poseidon::PartitionConsumer.new('CheckConsumerLag', leader['host'], leader['port'], topic, partition, :latest_offset)
@@ -115,27 +108,22 @@ class ConsumerLagCheck < Sensu::Plugin::Check::CLI
115
108
  offset = consumer_offset(z, group, topic, partition)
116
109
 
117
110
  lag = logsize - offset
118
-
119
- consumers[topic][:partition] = partition
120
- consumers[topic][:logsize] = logsize
121
- consumers[topic][:offset] = offset
122
- consumers[topic][:lag] = lag
123
- consumers[topic][:owner] = owner
111
+ consumers[topic].push(partition: partition, logsize: logsize, offset: offset, lag: lag, owner: owner)
124
112
  end
125
113
  end
126
114
 
127
115
  [:offset, :logsize, :lag].each do |field|
128
- consumers.map do |k, v|
129
- critical "Topic #{k} has partitions with #{field} < 0" unless v.select { |w| w[field].to_i < 0 }.empty?
116
+ consumers.each do |k, v|
117
+ critical "Topic #{k} has #{field} < 0 '#{v[field]}'" unless v.select { |w| w[field].to_i < 0 }.empty?
130
118
  end
131
119
  end
132
120
 
133
- consumers.map do |k, v|
134
- critical "Topic #{k} has partitions with no owner" unless v.select { |w| w[:owner] == 'none' }.empty?
121
+ consumers.each do |k, v|
122
+ critical "Topic #{k} has partitions with no owner '#{v[:owner]}'" unless v.select { |w| w[:owner] == 'none' }.empty?
135
123
  end
136
124
 
137
- lags = topics.map do |k, v|
138
- Hash[k, v.inject(0) { |a, e| a + e[:lag].to_i }]
125
+ lags = consumers.map do |k, v|
126
+ Hash[k, v.inject(0) { |a, e| a + e[:lag] }]
139
127
  end
140
128
 
141
129
  max_lag = lags.map(&:values).flatten.max
@@ -6,7 +6,7 @@ module SensuPluginsKafka
6
6
  module Version
7
7
  MAJOR = 0
8
8
  MINOR = 8
9
- PATCH = 0
9
+ PATCH = 1
10
10
 
11
11
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
12
12
  end
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.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
@@ -9,22 +9,8 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - certs/sensu-plugins.pem
12
- date: 2017-02-15 00:00:00.000000000 Z
12
+ date: 2017-02-16 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: celluloid-io
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: 0.17.3
21
- type: :runtime
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: 0.17.3
28
14
  - !ruby/object:Gem::Dependency
29
15
  name: poseidon
30
16
  requirement: !ruby/object:Gem::Requirement