def metrics(vs_uuid, m_id, tenant, step, limits): mq = { 'metric_id': m_id, 'tenant': 'admin', 'step': step, 'limit': limits, 'entity_uuid': vs_uuid } api_utils = ApiUtils(api) rsp = api_utils.get_metrics_collection(metric_requests=[mq]) total_value = 0 for data in rsp['series'][vs_uuid][0]['data']: total_value += data['value'] return total_value/limits
help='number of values', type=int, default=2) parser.add_argument('-c', '--controller', help='controller ip', default='127.0.0.1') parser.add_argument('-u', '--username', help='user name', default='admin') parser.add_argument('-p', '--password', help='password', default='abc') args = parser.parse_args() print('parsed args', args) mq = { 'metric_id': args.vs_metrics, 'serviceengine_uuid': args.se_uuid, 'tenant': (args.tenant if args.tenant else 'admin'), 'step': args.step, 'limit': args.limit, 'aggregate_entity': not args.per_vs_metrics, 'entity_uuid': '*', 'pad_missing_data': False } api_ssn = ApiSession(args.controller, args.username, args.password, args.tenant) api_utils = ApiUtils(api_ssn) rsp = api_utils.get_metrics_collection(tenant=args.tenant, metric_requests=[mq]) print ('metrics query', mq) print (json.dumps(rsp, indent=2))
api_utils = ApiUtils(api_ssn) entity_uuid = '*' mq = [ { 'metric_id': "se_stats.avg_cpu_usage", 'tenant': (args.tenant if args.tenant else 'admin'), 'step': args.step, 'limit': args.limit, 'serviceengine_uuid': args.se_uuid, 'pad_missing_data': False, }, { 'metric_id': "l7_client.sum_get_reqs, l7_client.sum_post_reqs,l4_client.avg_bandwidth," "l4_client.avg_complete_conns,l7_client.avg_complete_responses", 'tenant': (args.tenant if args.tenant else 'admin'), 'step': args.step, 'limit': args.limit, 'serviceengine_uuid': args.se_uuid, 'entity_uuid': entity_uuid, 'pad_missing_data': False, #"dimension_aggregation": "METRICS_DIMENSION_AGG_SUM", #"aggregate_entity":True } ] rsp = api_utils.get_metrics_collection(tenant=args.tenant, metric_requests=mq) #print 'metrics query', mq print json.dumps(rsp, indent=2)