kurchatov 0.1.2 → 0.1.3

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