nrpeclient 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 +4 -4
- data/lib/nrpeclient/check_nrpe.rb +6 -8
- data/lib/nrpeclient/nrpe_packet.rb +12 -3
- data/lib/nrpeclient/version.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ac5e364e88a7a516d11323164c1c513d6e6e397
|
4
|
+
data.tar.gz: c592626cd73ef80216d74950fe2f3046533ac7ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5aff014899de7617e962188ca2a968a750d40a854c3b5b1ef1b4451e2a8c6bbf1625ca5ef3eda986baadbdcbc1fa0cac4a96454fc7388a07932989d9568d86b
|
7
|
+
data.tar.gz: 14e17897727f48bfc6d8a024fcdc7a70676b247073a133de6d4a32653ba9c6f76f70e64948921183f1359aff30b2a6166934750fa7c810ccf8e4cc95682439cc
|
@@ -13,12 +13,10 @@ module Nrpeclient
|
|
13
13
|
def initialize(options={})
|
14
14
|
@options = DEFAULT_OPTIONS.merge(options)
|
15
15
|
if @options[:ssl]
|
16
|
-
@
|
17
|
-
@
|
18
|
-
@
|
19
|
-
@
|
20
|
-
@ssl.context.key = OpenSSL::PKey::RSA.new(File.open("certificate.key"))
|
21
|
-
@ssl.context.version = :SSLv23
|
16
|
+
@ssl_context = OpenSSL::SSL::SSLContext.new :SSLv23
|
17
|
+
@ssl_context.ciphers = 'ADH'
|
18
|
+
@ssl_context.cert = OpenSSL::X509::Certificate.new(File.open(@options.fetch(:ssl_cert))) if !@options[:ssl_cert].nil?
|
19
|
+
@ssl_context.key = OpenSSL::PKey::RSA.new(File.open(@options.fetch(:ssl_key))) if !@options[:ssl_key].nil?
|
22
20
|
end
|
23
21
|
end
|
24
22
|
|
@@ -30,13 +28,13 @@ module Nrpeclient
|
|
30
28
|
begin
|
31
29
|
socket = TCPSocket.open(@options[:host], @options[:port])
|
32
30
|
if @options[:ssl]
|
33
|
-
socket = OpenSSL::SSL::SSLSocket.new(socket, @
|
31
|
+
socket = OpenSSL::SSL::SSLSocket.new(socket, @ssl_context)
|
34
32
|
socket.sync_close = true
|
35
33
|
socket.connect
|
36
34
|
end
|
37
35
|
|
38
36
|
socket.write(query.to_bytes)
|
39
|
-
response = Nrpeclient::NrpePacket.read(socket)
|
37
|
+
response = Nrpeclient::NrpePacket.read(socket, !@options[:ssl])
|
40
38
|
socket.close
|
41
39
|
return response
|
42
40
|
rescue Errno::ETIMEDOUT
|
@@ -13,7 +13,7 @@ module Nrpeclient
|
|
13
13
|
|
14
14
|
MAX_PACKET_SIZE = 12 + 1024
|
15
15
|
|
16
|
-
attr_accessor :packet_version, :crc32, :result_code, :buffer
|
16
|
+
attr_accessor :packet_version, :crc32, :result_code, :buffer, :perfdata
|
17
17
|
|
18
18
|
def initialize(unpacked=nil)
|
19
19
|
@packet_version = NRPE_PACKET_VERSION_2
|
@@ -26,6 +26,15 @@ module Nrpeclient
|
|
26
26
|
@result_code = unpacked[3]
|
27
27
|
@buffer = unpacked[4]
|
28
28
|
@random = unpacked[5]
|
29
|
+
# Parse perfdata and return as a hash
|
30
|
+
if @buffer.include? "|" then
|
31
|
+
@perfdata = Hash.new
|
32
|
+
@buffer.split("|")[1].split(",").each do |metric|
|
33
|
+
key = metric.split("=")[0].strip
|
34
|
+
value = metric.split("=")[1].strip
|
35
|
+
@perfdata[:"#{key}"] = value
|
36
|
+
end
|
37
|
+
end
|
29
38
|
end
|
30
39
|
end
|
31
40
|
|
@@ -61,11 +70,11 @@ module Nrpeclient
|
|
61
70
|
[ @packet_version, @packet_type, use_crc32, @result_code, @buffer, @random].pack("nnNna#{MAX_PACKETBUFFER_LENGTH}n")
|
62
71
|
end
|
63
72
|
|
64
|
-
def self.read(io)
|
73
|
+
def self.read(io, validate_crc32=true)
|
65
74
|
bytes = io.read(MAX_PACKET_SIZE)
|
66
75
|
values = bytes.unpack("nnNnA#{MAX_PACKETBUFFER_LENGTH}n")
|
67
76
|
packet = self.new(values)
|
68
|
-
packet.validate_crc32
|
77
|
+
packet.validate_crc32 if validate_crc32
|
69
78
|
packet
|
70
79
|
end
|
71
80
|
end
|
data/lib/nrpeclient/version.rb
CHANGED
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nrpeclient
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arun Scaria
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.10'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
description: Executed the command passed at the remote machine where NRPE daemon is
|
@@ -75,17 +75,17 @@ require_paths:
|
|
75
75
|
- lib
|
76
76
|
required_ruby_version: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- -
|
78
|
+
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0'
|
86
86
|
requirements: []
|
87
87
|
rubyforge_project:
|
88
|
-
rubygems_version: 2.
|
88
|
+
rubygems_version: 2.2.2
|
89
89
|
signing_key:
|
90
90
|
specification_version: 4
|
91
91
|
summary: Ruby version of check_nrpe command from Nagios core
|