Files
dtomlinson-cv/vrops-api/__dev/old/getoutput.py
2019-11-04 14:38:31 +00:00

135 lines
3.6 KiB
Python

import base64
import json
import os
import sys
sys.path.append(os.getcwd())
from vropsAPI import vropsAPI
# Authenticate:
vrops = vropsAPI.authenticate(
'https://sc1prapvro01/',
'svc_splunkVROPS@Group.WilliamHill.PLC',
'whgroup',
base64.b64decode(b'UmFjaW5nMjEyMg==').decode(),
verify=False,
)
# Load VM dict
with open('vms.json', 'r') as file:
vrops.allVMS = json.load(file)
# Add a single VM to a list to pull back
myList = []
for i in range(0, len(vrops.allVMS)):
myList.append(list(vrops.allVMS.values())[i])
testList = []
testList.append(myList[10])
testList.append(myList[11])
# print(myList)
# Get data for a vm
vrops.getStatsFromVMS(
begin=vrops.epochRelativeTime(vrops.epochNow, minutes=-20),
end=vrops.epochNow,
intervalType='MINUTES',
intervalQuantifier='5',
rollUpType='AVG',
resourceId=testList,
statKey=['cpu|usage_average', 'config|hardware|num_Cpu'],
)
# print(vrops.vmsResources)
# Save output to disk
# vrops.saveToDisk(vrops.vmsResources, indent=4, fileName='approach2-output')
export, metric = {}, {}
# All vms to loop through
print(len(vrops.vmsResources['values']))
# vm name
print(vrops.vmsResources['values'][0]['name'])
# data stored in
print(vrops.vmsResources['values'][0]['stat-list']['stat'])
# how many keys there are
print(len(vrops.vmsResources['values'][0]['stat-list']['stat']))
# timestamp earliest, -1 latest?
print(vrops.vmsResources['values'][0]['stat-list']['stat'][0]['timestamps'][0])
# statkey
print(
vrops.vmsResources['values'][0]['stat-list']['stat'][0]['statKey']['key']
)
# Rolluptype avg etc
print(vrops.vmsResources['values'][0]['stat-list']['stat'][0]['rollUpType'])
# time interval
print(vrops.vmsResources['values'][0]['stat-list']['stat'][0]['intervalUnit'][
'quantifier'
])
# intervaltype minutes etc
print(vrops.vmsResources['values'][0]['stat-list']['stat'][0]['intervalUnit'][
'intervalType'
])
# data earliest, -1 latest?
print(vrops.vmsResources['values'][0]['stat-list']['stat'][0]['data'][0])
loopLength = len(vrops.vmsResources['values'])
print(f'loop length - {loopLength}')
timeLength = len(
vrops.vmsResources['values'][0]['stat-list']['stat'][0]['timestamps']
)
metricLength = len(vrops.vmsResources['values'][0]['stat-list']['stat'])
print(metricLength)
print('\n')
for i in range(0, loopLength):
# timeLength = len(
# vrops.vmsResources['values'][1]['stat-list']['stat'][0]['timestamps']
# )
# print(json.dumps({'name': vrops.vmsResources['values'][i]['name']}))
pass
print(
len(vrops.vmsResources['values'][0]['stat-list']['stat'][0]['timestamps']))
for i in range(0, loopLength):
statKeyLength = len(vrops.vmsResources['values'][i]['stat-list']['stat'])
timeLength = len(
vrops.vmsResources['values'][i]['stat-list']['stat'][0]['timestamps']
)
for k in range(0, statKeyLength):
for j in range(0, timeLength):
print(type(
json.dumps({
'name': vrops.vmsResources['values'][i]['name'],
'timesamp': vrops.vmsResources['values'][i]['stat-list']
['stat'][0]['timestamps'][j],
'data': vrops.vmsResources['values'][i]['stat-list']
['stat'][k]['data'][j],
'statKey': vrops.vmsResources['values'][i]['stat-list']
['stat'][k]['statKey']['key'],
'rollUpType': vrops.vmsResources['values'][i]['stat-list']
['stat'][k]['rollUpType'],
'intervalUnit': vrops.vmsResources['values'][i]
['stat-list']['stat'][k]['intervalUnit']['quantifier']
}),
))