kurchatov 0.1.2 → 0.1.3

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: a1f64e9798136370628438b5bd0ce96ceedf0074
4
- data.tar.gz: db50e1d9d66072ea30df9d4f9cf8135e885aa988
3
+ metadata.gz: bd2e6e3677c928cc410c260fb87f0f71f70f631a
4
+ data.tar.gz: bf7a5e34fc99a0c11a857dafaf036fd4447603a0
5
5
  SHA512:
6
- metadata.gz: dc5c295bbbb4c1e5deac6e71dd0b8a3777cdcba0d8b5bda4651a1add31ba6ed7829c3465d495da5d90279ceedeacd0d6ee13eec7e52b46418f3641d32820de07
7
- data.tar.gz: 2ca60f45c84b4cc7df5cf764ad800c0853d0cddf30673fee455afc57d532a704861bfbf68af2d86a44197d980b4f1412ef23b2755771ebe47a0dd937c6fa345a
6
+ metadata.gz: 3272999af5bde01836ac4caf53c9465cf2e72693337ce12615277eff918e9b3735d7c0ea2dcdabb3b9f45aa66873946f078c844375bd85e9d35007c68218e6b2
7
+ data.tar.gz: 1875f26d830d8f0576331560617f627f5d580eaaa95637a1348e4803b226205f5f12f55cfc40d7c091410a3247035326d6471607dea14c24e1d8f842394da2a1
@@ -1,3 +1,4 @@
1
+ require 'net/http'
1
2
  require 'open-uri'
2
3
  require 'yajl/json_gem'
3
4
 
@@ -5,15 +6,32 @@ module Kurchatov
5
6
  module Mixin
6
7
  module Http
7
8
 
9
+ USER_AGENT = "Kurchatov (Riemann client v#{Kurchatov::Version})".freeze
10
+
8
11
  # /path/to/file, https://ya.ru, http://a:a@yandex.ru
9
12
  def rest_get(url)
10
13
  uri = URI(url)
11
14
  if uri.userinfo
12
15
  open("#{uri.scheme}://#{uri.hostname}:#{uri.port}#{uri.request_uri}",
13
- :http_basic_authentication => [uri.user, uri.password]).read
16
+ :http_basic_authentication => [uri.user, uri.password],
17
+ 'User-Agent' => USER_AGENT).read
14
18
  else
15
- open(url).read
19
+ open(url, 'User-Agent' => USER_AGENT).read
20
+ end
21
+ end
22
+
23
+ # return: body, http_code
24
+ def http_get(url)
25
+ uri = URI(url)
26
+ req = Net::HTTP::Get.new(uri)
27
+ req['User-Agent'] = USER_AGENT
28
+ res = nil
29
+ begin
30
+ Net::HTTP.start(uri.hostname, uri.port) {|http| res = http.request(req)}
31
+ rescue SocketError, Errno::ECONNREFUSED
32
+ return nil, 0
16
33
  end
34
+ return res.body, res.code.to_i
17
35
  end
18
36
 
19
37
  end
@@ -0,0 +1,12 @@
1
+ module Kurchatov
2
+ module Mixin
3
+ module RunitService
4
+
5
+ def runit_service_stat(service)
6
+ return "unknown" unless File.exitst?("/etc/sv/#{service}/supervise/stat")
7
+ File.read("/etc/sv/#{service}/supervise/stat")
8
+ end
9
+
10
+ end
11
+ end
12
+ end
@@ -46,7 +46,7 @@ module Kurchatov
46
46
  event(:service => "plugin #{@plugin.name} errors", :desc => desc, :state => 'critical')
47
47
  end
48
48
  end
49
- @thread = Thread.new { @plugin.start }
49
+ @thread = Thread.new { @plugin.start! }
50
50
  true
51
51
  end
52
52
 
@@ -12,6 +12,7 @@ module Kurchatov
12
12
  include Kurchatov::Mixin::Event
13
13
  include Kurchatov::Mixin::Command
14
14
  include Kurchatov::Mixin::Http
15
+ include Kurchatov::Mixin::RunitService
15
16
  include Kurchatov::Mixin::Queue
16
17
  include Kurchatov::Mixin::Monitor
17
18
 
@@ -1,3 +1,3 @@
1
1
  module Kurchatov
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kurchatov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vasiliev Dmitry
@@ -159,6 +159,7 @@ files:
159
159
  - lib/kurchatov/mixin/monitor.rb
160
160
  - lib/kurchatov/mixin/ohai.rb
161
161
  - lib/kurchatov/mixin/queue.rb
162
+ - lib/kurchatov/mixin/runit_service.rb
162
163
  - lib/kurchatov/monitor.rb
163
164
  - lib/kurchatov/plugin.rb
164
165
  - lib/kurchatov/plugin/config.rb