sensu-plugins-kafka 0.8.0 → 0.8.1

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 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