def add_alert_record(process_status, item_name, item_level, item_type, alert_detail, task_id, alert_mem, cer_mem, data_url): """ 添加报警记录 Args: Returns: Raises: """ p_data = {} p_data['process_status'] = process_status p_data['item_name'] = item_name p_data['item_level'] = item_level p_data['item_type'] = item_type p_data['alert_time'] = time.time() p_data['alert_detail'] = alert_detail p_data['task_id'] = task_id p_data['alert_mem'] = alert_mem p_data['cer_mem'] = cer_mem p_data['item_url'] = data_url p_data['alert_message'] = alert_detail try: _scheduler_db = scheduler_db() _scheduler_db.add('alert_record', p_data) _scheduler_db.commit() _scheduler_db.close() except Exception, e: lib.scheduler_logger.warning( os.path.basename(__file__), sys._getframe().f_lineno, "table alert_record insert fail. task_id:" + str(task_id) + " error:" + str(e)) return False
def add_run_record(task_id, item_name, run_status, item_type, cer_mem, time_consume, data_url): """ 添加运行记录 Args: Returns: Raises: """ p_data = {} p_data['task_id'] = task_id p_data['item_name'] = item_name p_data['run_status'] = run_status p_data['run_time'] = time.time() p_data['item_type'] = item_type p_data['cer_mem'] = cer_mem p_data['time_consume'] = time_consume p_data['run_url'] = data_url try: _scheduler_db = scheduler_db() _scheduler_db.add('run_record', p_data) _scheduler_db.commit() _scheduler_db.close() except Exception, e: lib.scheduler_logger.warning( os.path.basename(__file__), sys._getframe().f_lineno, "table run_record insert fail. task_id:" + str(task_id) + " error:" + str(e)) return False
def pack_data(sel_ret, mail_url, message_url): """ 监控项信息数据打包方法 Args: sel_ret: 原始数据 mail_url: 邮件服务url message_url: 短信服务url Returns: Raises: """ data = {} taskid = int(sel_ret['id']) task_type = int(sel_ret['type']) criterion = str(sel_ret['criterion']) time_out = str(sel_ret['time_out']) user_name = str(sel_ret['username']) url = str(sel_ret['url']) level = str(sel_ret['level']) item_name = str(sel_ret['item_name']) post_content = str(sel_ret['post_content']) callback_url = str(sel_ret['callback_url']) monitor_arg = str(sel_ret['monitor_arg']) cer_mem = str(sel_ret['cer_mem']) alert_mem = str(sel_ret['alert_mem']) mail_count = str(sel_ret['mail_count']) message_count = str(sel_ret['message_count']) frequence = str(sel_ret['frequence']) product_line = str(sel_ret['product_line']) referer = str(sel_ret['referer']) user_agent = str(sel_ret['user_agent']) start_time = str(sel_ret['start_time']) end_time = str(sel_ret['end_time']) user_passwd = "" if user_name: try: user_sql = "SELECT password FROM robot_acount WHERE tel_no = " + str( user_name) _scheduler_db = scheduler_db() user_ret = _scheduler_db.findAll(user_sql) _scheduler_db.close() user_passwd = user_ret[0]['password'] except Exception, error: lib.scheduler_logger.error( os.path.basename(__file__), sys._getframe().f_lineno, "get robot_user passwd fail. " + str(error))
def get_multi_host(hostname): """ 查询多机房ip Args: Returns: Raises: """ result = {} try: _scheduler_db = scheduler_db() query = "select item_status, apply_scope, item_name, host_name, host_ip from multi_hosts WHERE host_name = '" + str( hostname) + "'" result = _scheduler_db.findAll(query) _scheduler_db.close() except Exception as e: lib.scheduler_logger.warning( os.path.basename(__file__), sys._getframe().f_lineno, "get data from multi_hosts fail:" + str(e)) return result
def update_task_exectime(task_id): """ 更新任务最后执行时间 Args: Returns: Raises: """ try: _scheduler_db = scheduler_db() now_timestamp = int(time.time()) update_sql = "UPDATE monitor_item SET last_runtime = " + str( now_timestamp) + " WHERE id = " + str(task_id) _scheduler_db.query(update_sql) _scheduler_db.commit() _scheduler_db.close() except Exception, e: lib.scheduler_logger.warning( os.path.basename(__file__), sys._getframe().f_lineno, "table update task last runtime fail. task_id:" + str(task_id) + " error:" + str(e)) return False
_scheduler_db = scheduler_db() user_ret = _scheduler_db.findAll(user_sql) _scheduler_db.close() user_passwd = user_ret[0]['password'] except Exception, error: lib.scheduler_logger.error( os.path.basename(__file__), sys._getframe().f_lineno, "get robot_user passwd fail. " + str(error)) product_name = "" if product_line: try: product_name_sql = "SELECT product_name from product_lines where product_id = " + str( product_line) _scheduler_db = scheduler_db() product_name_ret = _scheduler_db.findAll(product_name_sql) _scheduler_db.close() product_name = product_name_ret[0]['product_name'] except Exception, error: lib.scheduler_logger.error(os.path.basename(__file__), sys._getframe().f_lineno, "get product_name fail. " + str(error)) data['item_id'] = taskid data['type'] = task_type data['criterion'] = criterion data['time_out'] = time_out data['monitoruser'] = user_name data['userpasswd'] = user_passwd data['url'] = url