class God::Contacts::Sensu
Attributes
check_name[RW]
handler[RW]
host[RW]
port[RW]
status_code[RW]
check_name[RW]
handler[RW]
host[RW]
port[RW]
status_code[RW]
Public Instance Methods
notify(message, time, priority, category, host)
click to toggle source
# File lib/god/contacts/sensu.rb, line 44 def notify(message, time, priority, category, host) data = { :category => category, :message => message, :priority => priority, :host => host, :time => time, } parcel = { 'name' => arg(:check_name), 'status' => arg(:status_code).nil? ? self.status_code : arg(:status_code), 'output' => data.to_json, 'handler' => arg(:handler).empty? ? self.handler : arg(:handler), 'executed' => Time.now.to_i } sensu_client_socket parcel.to_json self.info = "notified sensu: #{arg(:check_name)}" end
sensu_client_socket(msg)
click to toggle source
# File lib/god/contacts/sensu.rb, line 38 def sensu_client_socket(msg) u = UDPSocket.new u.send(msg + "\n", 0, arg(:host).nil? ? self.host : arg(:host), arg(:port).nil? ? self.port : arg(:port)) u.close end
valid?()
click to toggle source
# File lib/god/contacts/sensu.rb, line 30 def valid? valid = true valid &= complain("Attribute 'check_name' must be specified", self) unless arg(:check_name) valid end