#!/usr/bin/env ruby #A small script to send piped json events from SensuAPP to Google Cloud Messaging, Frank Solli require ‘sensu-handler’ require ‘json’ require ‘rubygems’ require ‘gcm’ class GCMALERT < Sensu::Handler def event_name @event[‘client’][‘name’] + ‘/’ + @event[‘check’][‘name’] end def handle gcm_apikey = settings[‘gcmalert’][‘apikey’] gcm_regid = settings[‘gcmalert’][‘registration_ids’] puts gcm_regid gcm = GCM.new(gcm_apikey) registration_ids = [(gcm_regid)] if @event[‘action’].eql?("resolve") message = "RESOLVED – #{event_name} – #{@event[‘check’][‘output’]}" else message = "ALERT – #{event_name} – #{@event[‘check’][‘output’]}" end payload = {data: {info: "#{message}"}} #GCM requires a hash puts payload #debug response = gcm.send_notification(registration_ids, payload) puts response #debug end end