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