def get_bk_data(self, res_id, cc_app_id): """数据平台""" cpu_metrics = apigw_data.get_node_metrics('cpu_summary', cc_app_id, res_id, limit=1) if cpu_metrics['list']: cpu_metrics = normalize_metric(cpu_metrics['list'][0]['usage']) else: cpu_metrics = 0 mem_metrics = apigw_data.get_node_metrics('mem', cc_app_id, res_id, limit=1) if mem_metrics['list']: mem_metrics = normalize_metric(mem_metrics['list'][0]['used'] * 100.0 / mem_metrics['list'][0]['total']) else: mem_metrics = 0 # device_name 有很多,需要处理 io_metrics = apigw_data.get_node_metrics('io', cc_app_id, res_id, limit=1) if io_metrics['list']: io_metrics = normalize_metric(io_metrics['list'][0]['util']) else: io_metrics = 0 data = {'cpu': cpu_metrics, 'mem': mem_metrics, 'io': io_metrics} return data
def get_bk_data(self, data, cc_app_id): """数据平台返回 """ _data = apigw_data.get_node_metrics( data['metric'], cc_app_id, data['res_id'], data['start_at'], data['end_at']) metrics_data = [] if data['metric'] == 'io': metric_list = groupby(sorted(_data['list'], key=lambda x: x['device_name']), key=lambda x: x['device_name']) for device_name, metrics in metric_list: metrics_data.append({'device_name': device_name, 'metrics': [{'rkb_s': normalize_metric(i['rkb_s']), 'wkb_s': normalize_metric(i['wkb_s']), 'time': i['time']} for i in metrics]}) _data['list'] = metrics_data elif data['metric'] == 'cpu_summary': for i in _data['list']: i['usage'] = normalize_metric(i['usage']) elif data['metric'] == 'net': metric_list = groupby(sorted(_data['list'], key=lambda x: x['device_name']), key=lambda x: x['device_name']) for device_name, metrics in metric_list: metrics_data.append({'device_name': device_name, 'metrics': [{'speedSent': i['speedSent'], 'speedRecv': i['speedRecv'], 'time': i['time']} for i in metrics]}) _data['list'] = metrics_data return _data