class Malevich::Responder::Udp
Constants
- RIEMANN_RESERVED_FIELDS
Attributes
name[R]
Public Class Methods
new()
click to toggle source
# File lib/malevich/responders/udp.rb, line 22 def initialize @host, @port = malevich.cmd[:'udp-responder'].split(':') @name = 'udp api' end
Public Instance Methods
event_from_hash(hash=nil)
click to toggle source
# File lib/malevich/responders/udp.rb, line 37 def event_from_hash(hash=nil) new_hash = Hash.new RIEMANN_RESERVED_FIELDS.each do |key| new_hash[key] = hash[key] || hash[key.to_s] end new_hash[:host] ||= malevich.ohai[:fqdn] new_hash[:tags] ||= malevich.cmd.tags new_hash end
event_from_json(str)
click to toggle source
# File lib/malevich/responders/udp.rb, line 47 def event_from_json(str) event_from_hash(JSON.parse(str)) end
process(data, src)
click to toggle source
# File lib/malevich/responders/udp.rb, line 27 def process(data, src) begin malevich.riemann_events << event_from_json(data) src.reply "sended\n\n" rescue log :error, "Failed to send message: #{data.inspect}" src.reply "failed to send: #{data.inspect}\n" end end
run!()
click to toggle source
# File lib/malevich/responders/udp.rb, line 51 def run! log :unknown, "Start udp server at #{@host}:#{@port}" Socket.udp_server_loop(@host, @port) do |data, src| log :debug, "Received data: #{data.inspect}, from client: #{src.inspect}" process(data, src) end end