def main(): try: argv = argv_to_dict(sys.argv) handle_search(argv) except Exception, e: L.exception(e) log(e)
def handle_search(kwargs): log( 'kwargs: %s' % kwargs) saved_search_title = kwargs.get('saved_search_title') if kwargs.get('saved_search_title') else 'script-called-directly' alert_reason = 'script-called-directly' # Create message entity_key = "socialize-status-main" if saved_search_title == '[PROD] Error - Internal Server - 5 min': message = '%s ERRORS in last 5 mins.' % ( kwargs['number_of_events']) elif saved_search_title == 'Summary -- HTTP by Hour' or saved_search_title == 'Summary -- HTTP by minute': entity_key = 'http-requests' search_data = read_search(kwargs['search_file_path']) log( "search_data: %s" % search_data) message = "Avg. Response Time: %(average_reponse_time)s \n"\ "Total Requests: %(request_count)s\n"\ "Oauth Errors: %(failure_count)s\n"\ "Server Errors: %(error_count)s\n"\ % search_data[0] post_comment(entity_key, message) elif saved_search_title == 'Summary -- NOTIFY by 15 minute': entity_key = 'notifications' search_data = read_search(kwargs['search_file_path']) log( "search_data: %s" % search_data) message = "Android Devices: %(total_android_devices)s \n"\ "iOS Devices: %(total_ios_devices)s\n"\ % search_data[0] post_comment(entity_key, message) else: message = alert_reason post_comment(entity_key, message) log( 'locals: %s' % locals())
def post_comment(entity_key, text): sub_url = "/comment/" payload = [{ "entity_key" : entity_key, "text": text }] response = make_client_request(sub_url, payload) log('Body: %s' % payload) log('Response status: %s' % response.status_code) log('Response content: %s' % response.content) return response