Class: ZabbixSend::Sender
- Inherits:
-
Object
- Object
- ZabbixSend::Sender
- Defined in:
- lib/zabbix_send.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.build_message(zhost, zkey, zvalue, ztime) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/zabbix_send.rb', line 8 def self.(zhost,zkey,zvalue,ztime) msg = { "request" => "sender data", "data" => [ { "host" => zhost, "key" => zkey, "value" => zvalue, "clock" => ztime }] } body = JSON.generate msg data_length = body.bytesize data_header = "ZBXD\1".encode("ascii") + [data_length].pack("Q") data_to_send = data_header + body end |
.send_message(message, server, port) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/zabbix_send.rb', line 25 def self.(, server, port) s = TCPSocket.new(server, port) s.write response_header = s.recv(5) if not response_header == "ZBXD\1" puts "response: #{response_header}" raise 'Got invalid response' end response_data_header = s.recv(8) response_length = response_data_header.unpack("Q")[0] response_raw = s.recv(response_length) s.close response = JSON.load response_raw end |
Instance Method Details
#zabbix_send(zserver, zhost, zkey, zvalue, ztime = Time.now.to_i, zport = 10051) ⇒ Object
40 41 42 43 |
# File 'lib/zabbix_send.rb', line 40 def zabbix_send(zserver,zhost,zkey,zvalue,ztime=Time.now.to_i,zport=10051) z_send = Sender. zhost, zkey, zvalue, ztime Sender. z_send, zserver, zport end |