riemann-babbler 1.2.4 → 1.2.5

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.
data/config.yml CHANGED
@@ -5,6 +5,8 @@ riemann:
5
5
  interval: 60 # update interval for all plugins
6
6
  use_fqdn: true
7
7
  test_connect_on_start: true
8
+ responder:
9
+ port: 55755
8
10
 
9
11
  logger:
10
12
  level: DEBUG
@@ -4,7 +4,7 @@ require 'resolv'
4
4
 
5
5
  require 'riemann/babbler/support/deep_merge'
6
6
  require 'riemann/babbler'
7
- require 'riemann/babbler/support/pinger'
7
+ require 'riemann/babbler/support/responder'
8
8
 
9
9
  class Riemann::Babbler::Starter
10
10
 
@@ -28,7 +28,7 @@ class Riemann::Babbler::Starter
28
28
  set_logger_lvl
29
29
  load_plugins
30
30
  $riemann = get_riemann
31
- Riemann::Responder.new.start
31
+ Riemann::Responder.new(@config.riemann.responder.port, logger).start
32
32
  start_plugins!
33
33
  end
34
34
 
@@ -0,0 +1,24 @@
1
+ require 'net/http/server'
2
+ require 'json'
3
+
4
+ class Riemann::Responder
5
+
6
+ INFO = {
7
+ :version => Riemann::Babbler::VERSION,
8
+ :ruby => "#{RUBY_VERSION}-#{RUBY_PATCHLEVEL}"
9
+ }.freeze
10
+
11
+ def initialize(port = 55755, logger)
12
+ @port = port
13
+ @logger = logger
14
+ end
15
+
16
+ def start
17
+ Thread.new {
18
+ Net::HTTP::Server.run(:port => 8080) do |request,stream|
19
+ logger.unknown "Responder request: #{request}"
20
+ [200, {'Content-Type' => 'application/json'}, [INFO.to_json]]
21
+ end
22
+ }
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  module Riemann
2
2
  class Babbler
3
- VERSION = '1.2.4'
3
+ VERSION = '1.2.5'
4
4
  end
5
5
  end
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.add_dependency('net-ping')
21
21
  s.add_dependency('file-tail')
22
22
  s.add_dependency('sys-proctable')
23
+ s.add_dependency('net-http-server')
23
24
 
24
25
  s.files = `git ls-files`.split("\n")
25
26
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riemann-babbler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -155,6 +155,22 @@ dependencies:
155
155
  - - ! '>='
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: net-http-server
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
158
174
  description: Plugin manager for riemann.
159
175
  email:
160
176
  - vadv.mkn@gmail.com
@@ -194,8 +210,8 @@ files:
194
210
  - lib/riemann/babbler/start.rb
195
211
  - lib/riemann/babbler/support/deep_merge.rb
196
212
  - lib/riemann/babbler/support/monkey_patches.rb
197
- - lib/riemann/babbler/support/pinger.rb
198
213
  - lib/riemann/babbler/support/plugin_helpers.rb
214
+ - lib/riemann/babbler/support/responder.rb
199
215
  - lib/riemann/babbler/version.rb
200
216
  - riemann-babbler.gemspec
201
217
  - spec/config.yml
@@ -1,33 +0,0 @@
1
- require 'socket'
2
- require 'json'
3
-
4
- class Riemann::Responder
5
-
6
- INFO = {
7
- :version => Riemann::Babbler::VERSION,
8
- :ruby => "#{RUBY_VERSION}-#{RUBY_PATCHLEVEL}"
9
- }.freeze
10
-
11
- def initialize( port = 55755 )
12
- @port = port
13
- end
14
-
15
- def start
16
- @worker_thread = Thread.new {
17
- Socket.tcp_server_loop(@port) do |sock, _|
18
- begin
19
- sock.puts INFO.to_json
20
- ensure
21
- sock.close
22
- end
23
- end
24
- }
25
- end
26
-
27
- def stop
28
- if @worker_thread
29
- @worker_thread.kill
30
- @worker_thread = nil
31
- end
32
- end
33
- end